XML Service

Service XML

Ce service permet aux scripts d'analyser, de parcourir et de créer des documents XML par programmation.

// Log the title and labels for the first page of blog posts on
// Google's The Keyword blog.
function parseXml() {
  let url = 'https://blog.google/rss/';
  let xml = UrlFetchApp.fetch(url).getContentText();
  let document = XmlService.parse(xml);
  let root = document.getRootElement();

  let channel = root.getChild('channel');
  let items = channel.getChildren('item');
  items.forEach(item => {
    let title = item.getChild('title').getText();
    let categories = item.getChildren('category');
    let labels = categories.map(category => category.getText());
    console.log('%s (%s)', title, labels.join(', '));
  });
}

// Create and log an XML representation of first 10 threads in your Gmail inbox.
function createXml() {
  let root = XmlService.createElement('threads');
  let threads = GmailApp.getInboxThreads()
  threads = threads.slice(0,10); // Just the first 10
  threads.forEach(thread => {
    let child = XmlService.createElement('thread')
        .setAttribute('messageCount', thread.getMessageCount())
        .setAttribute('isUnread', thread.isUnread())
        .setText(thread.getFirstMessageSubject());
    root.addContent(child);
  });
  let document = XmlService.createDocument(root);
  let xml = XmlService.getPrettyFormat().format(document);
  console.log(xml);
}

Classes

NomBrève description
AttributeReprésentation d'un attribut XML.
CdataReprésentation d'un nœud CDATASection XML.
CommentReprésentation d'un nœud Comment XML.
ContentReprésentation d'un nœud XML générique.
ContentTypeÉnumération représentant les types de nœuds de contenu XML.
DocTypeReprésentation d'un nœud DocumentType XML.
DocumentReprésentation d'un document XML.
ElementReprésentation d'un nœud Element XML.
EntityRefReprésentation d'un nœud EntityReference XML.
FormatFormateur permettant de générer un document XML, avec trois formats prédéfinis qui peuvent être personnalisés.
NamespaceReprésentation d'un espace de noms XML.
ProcessingInstructionReprésentation d'un nœud ProcessingInstruction XML.
TextReprésentation d'un nœud Text XML.
XmlServiceCe service permet aux scripts d'analyser, de parcourir et de créer des documents XML par programmation.

Attribute

Méthodes

MéthodeType renvoyéBrève description
getName()StringObtient le nom local de l'attribut.
getNamespace()Namespace|nullRécupère l'espace de noms de l'attribut.
getValue()StringRécupère la valeur de l'attribut.
setName(name)AttributeDéfinit le nom local de l'attribut.
setNamespace(namespace)AttributeDéfinit l'espace de noms de l'attribut.
setValue(value)AttributeDéfinit la valeur de l'attribut.

Cdata

Méthodes

MéthodeType renvoyéBrève description
append(text)TextAjoute le texte donné à tout contenu déjà présent dans le nœud.
detach()Content|nullDétache le nœud de son nœud parent Element.
getParentElement()Element|nullObtient le nœud parent Element du nœud.
getText()StringObtient la valeur textuelle du nœud Text.
getValue()StringRécupère la valeur textuelle de tous les nœuds qui sont des enfants directs ou indirects du nœud, dans l'ordre dans lequel ils apparaissent dans le document.
setText(text)TextDéfinit la valeur textuelle du nœud Text.

Comment

Méthodes

MéthodeType renvoyéBrève description
detach()Content|nullDétache le nœud de son nœud parent Element.
getParentElement()Element|nullObtient le nœud parent Element du nœud.
getText()StringObtient la valeur textuelle du nœud Comment.
getValue()StringRécupère la valeur textuelle de tous les nœuds qui sont des enfants directs ou indirects du nœud, dans l'ordre dans lequel ils apparaissent dans le document.
setText(text)CommentDéfinit la valeur textuelle du nœud Comment.

Content

Méthodes

MéthodeType renvoyéBrève description
asCdata()Cdata|nullCaste le nœud en tant que nœud CDATASection aux fins de la saisie semi-automatique.
asComment()Comment|nullCaste le nœud en tant que nœud Comment aux fins de la saisie semi-automatique.
asDocType()DocType|nullCaste le nœud en tant que nœud DocumentType aux fins de la saisie semi-automatique.
asElement()Element|nullCaste le nœud en tant que nœud Element aux fins de la saisie semi-automatique.
asEntityRef()EntityRef|nullCaste le nœud en tant que nœud EntityReference aux fins de la saisie semi-automatique.
asProcessingInstruction()ProcessingInstruction|nullCaste le nœud en tant que nœud ProcessingInstruction aux fins de la saisie semi-automatique.
asText()Text|nullCaste le nœud en tant que nœud Text aux fins de la saisie semi-automatique.
detach()Content|nullDétache le nœud de son nœud parent Element.
getParentElement()Element|nullObtient le nœud parent Element du nœud.
getType()ContentTypeObtient le type de contenu du nœud.
getValue()StringRécupère la valeur textuelle de tous les nœuds qui sont des enfants directs ou indirects du nœud, dans l'ordre dans lequel ils apparaissent dans le document.

ContentType

Propriétés

PropriétéTypeDescription
CDATAEnumNœud CDATASection XML.
COMMENTEnumNœud Comment XML.
DOCTYPEEnumNœud DocumentType XML.
ELEMENTEnumNœud Element XML.
ENTITYREFEnumNœud EntityReference XML.
PROCESSINGINSTRUCTIONEnumNœud ProcessingInstruction XML.
TEXTEnumNœud Text XML.

DocType

Méthodes

MéthodeType renvoyéBrève description
detach()Content|nullDétache le nœud de son nœud parent Element.
getElementName()StringObtient le nom du nœud Element racine spécifié dans la déclaration DocType.
getInternalSubset()StringObtient les données du sous-ensemble interne pour le nœud DocumentType.
getParentElement()Element|nullObtient le nœud parent Element du nœud.
getPublicId()StringObtient l'ID public des données du sous-ensemble externe pour le nœud DocumentType.
getSystemId()StringObtient l'ID système des données du sous-ensemble externe pour le nœud DocumentType.
getValue()StringRécupère la valeur textuelle de tous les nœuds qui sont des enfants directs ou indirects du nœud, dans l'ordre dans lequel ils apparaissent dans le document.
setElementName(name)DocTypeDéfinit le nom du nœud Element racine à spécifier dans la déclaration DocType.
setInternalSubset(data)DocTypeDéfinit les données du sous-ensemble interne pour le nœud DocumentType.
setPublicId(id)DocTypeDéfinit l'ID public des données du sous-ensemble externe pour le nœud DocumentType.
setSystemId(id)DocTypeDéfinit l'ID système des données de sous-ensemble externes pour le nœud DocumentType.

Document

Méthodes

MéthodeType renvoyéBrève description
addContent(content)DocumentAjoute le nœud donné à la fin du document.
addContent(index, content)DocumentInsère le nœud donné à l'index donné parmi tous les nœuds qui sont des enfants immédiats du document.
cloneContent()Content[]Crée des copies non rattachées de tous les nœuds qui sont des enfants immédiats du document.
detachRootElement()Element|nullDétache et renvoie le nœud racine Element du document.
getAllContent()Content[]Récupère tous les nœuds qui sont des enfants immédiats du document.
getContent(index)Content|nullObtient le nœud à l'index donné parmi tous les nœuds qui sont des enfants immédiats du document.
getContentSize()IntegerObtient le nombre de nœuds qui sont des enfants immédiats du document.
getDescendants()Content[]Récupère tous les nœuds qui sont des enfants directs ou indirects du document, dans l'ordre dans lequel ils apparaissent dans le document.
getDocType()DocType|nullObtient la déclaration DocType du document.
getRootElement()Element|nullObtient le nœud Element racine du document.
hasRootElement()BooleanDétermine si le document comporte un nœud Element racine.
removeContent()Content[]Supprime tous les nœuds qui sont des enfants immédiats du document.
removeContent(content)BooleanSupprime le nœud donné, s'il s'agit d'un enfant immédiat du document.
removeContent(index)Content|nullSupprime le nœud à l'index donné parmi tous les nœuds qui sont des enfants immédiats du document.
setDocType(docType)DocumentDéfinit la déclaration DocType du document.
setRootElement(element)DocumentDéfinit le nœud Element racine du document.

Element

Méthodes

MéthodeType renvoyéBrève description
addContent(content)ElementAjoute le nœud donné en tant que dernier enfant du nœud Element.
addContent(index, content)ElementInsère le nœud donné à l'index donné parmi tous les nœuds qui sont des enfants immédiats du nœud Element.
cloneContent()Content[]Crée des copies non rattachées de tous les nœuds qui sont des enfants immédiats du nœud {@code Element}.
detach()Content|nullDétache le nœud de son nœud parent Element.
getAllContent()Content[]Récupère tous les nœuds qui sont des enfants immédiats du nœud {@code Element}.
getAttribute(name)Attribute|nullRécupère l'attribut de ce nœud Element avec le nom donné et sans espace de noms.
getAttribute(name, namespace)Attribute|nullObtient l'attribut de ce nœud Element avec le nom et l'espace de noms spécifiés.
getAttributes()Attribute[]Récupère tous les attributs de ce nœud Element, dans l'ordre dans lequel ils apparaissent dans le document.
getChild(name)Element|nullObtient le premier nœud Element portant le nom donné et sans espace de noms, qui est un enfant immédiat de ce nœud Element.
getChild(name, namespace)Element|nullObtient le premier nœud Element portant le nom et l'espace de noms donnés qui est un enfant immédiat de ce nœud Element.
getChildText(name)String|nullObtient la valeur textuelle du nœud portant le nom indiqué et sans espace de noms, si le nœud est un enfant immédiat du nœud Element.
getChildText(name, namespace)String|nullObtient la valeur textuelle du nœud portant le nom et l'espace de noms spécifiés, si le nœud est un enfant immédiat du nœud Element.
getChildren()Element[]Récupère tous les nœuds Element qui sont des enfants immédiats de ce nœud Element, dans l'ordre dans lequel ils apparaissent dans le document.
getChildren(name)Element[]Récupère tous les nœuds Element portant le nom donné et sans espace de noms qui sont des enfants immédiats de ce nœud Element, dans l'ordre dans lequel ils apparaissent dans le document.
getChildren(name, namespace)Element[]Récupère tous les nœuds Element portant le nom et l'espace de noms donnés qui sont des enfants immédiats de ce nœud Element, dans l'ordre dans lequel ils apparaissent dans le document.
getContent(index)Content|nullRécupère le nœud à l'index donné parmi tous les nœuds qui sont des enfants immédiats du nœud {@code Element}.
getContentSize()IntegerObtient le nombre de nœuds qui sont des enfants immédiats du nœud {@code Element}.
getDescendants()Content[]Récupère tous les nœuds qui sont des enfants directs ou indirects du nœud {@code Element}, dans l'ordre dans lequel ils apparaissent dans le document.
getDocument()DocumentObtient le document XML qui contient le nœud {@code Element}.
getName()StringObtient le nom local du nœud Element.
getNamespace()NamespaceObtient l'espace de noms pour le nœud Element.
getNamespace(prefix)NamespaceObtient l'espace de noms avec le préfixe donné pour le nœud Element.
getParentElement()Element|nullObtient le nœud parent Element du nœud.
getQualifiedName()StringObtient le nom local et le préfixe de l'espace de noms du nœud Element, au format [namespacePrefix]:[localName].
getText()StringObtient la valeur textuelle du nœud Element.
getValue()StringRécupère la valeur textuelle de tous les nœuds qui sont des enfants directs ou indirects du nœud, dans l'ordre dans lequel ils apparaissent dans le document.
isAncestorOf(other)BooleanDétermine si ce nœud Element est un parent direct ou indirect d'un nœud Element donné.
isRootElement()BooleanDétermine si le nœud Element est le nœud racine du document.
removeAttribute(attribute)BooleanSupprime l'attribut donné pour ce nœud Element, s'il existe.
removeAttribute(attributeName)BooleanSupprime l'attribut de ce nœud Element portant le nom donné et sans espace de noms, si un tel attribut existe.
removeAttribute(attributeName, namespace)BooleanSupprime l'attribut de ce nœud Element avec le nom et l'espace de noms donnés, si un tel attribut existe.
removeContent()Content[]Supprime tous les nœuds qui sont des enfants immédiats du nœud {@code Element}.
removeContent(content)BooleanSupprime le nœud donné, s'il s'agit d'un enfant immédiat du nœud {@code Element}.
removeContent(index)Content|nullSupprime le nœud à l'index donné parmi tous les nœuds qui sont des enfants immédiats du nœud {@code Element}.
setAttribute(attribute)ElementDéfinit l'attribut donné pour ce nœud Element.
setAttribute(name, value)ElementDéfinit l'attribut de ce nœud Element avec le nom et la valeur indiqués, sans espace de noms.
setAttribute(name, value, namespace)ElementDéfinit l'attribut de ce nœud Element avec le nom, la valeur et l'espace de noms spécifiés.
setName(name)ElementDéfinit le nom local du nœud Element.
setNamespace(namespace)ElementDéfinit l'espace de noms pour le nœud Element.
setText(text)ElementDéfinit la valeur textuelle du nœud Element.

EntityRef

Méthodes

MéthodeType renvoyéBrève description
detach()Content|nullDétache le nœud de son nœud parent Element.
getName()StringRécupère le nom du nœud EntityReference.
getParentElement()Element|nullObtient le nœud parent Element du nœud.
getPublicId()String|nullObtient l'ID public du nœud EntityReference.
getSystemId()String|nullObtient l'ID système du nœud EntityReference.
getValue()StringRécupère la valeur textuelle de tous les nœuds qui sont des enfants directs ou indirects du nœud, dans l'ordre dans lequel ils apparaissent dans le document.
setName(name)EntityRefDéfinit le nom du nœud EntityReference.
setPublicId(id)EntityRefDéfinit l'ID public du nœud EntityReference.
setSystemId(id)EntityRefDéfinit l'ID système du nœud EntityReference.

Format

Méthodes

MéthodeType renvoyéBrève description
format(document)StringAffiche le Document donné sous forme de chaîne formatée.
format(element)StringAffiche le nœud Element donné sous forme de chaîne formatée.
setEncoding(encoding)FormatDéfinit l'encodage de caractères que le formateur doit utiliser.
setIndent(indent)FormatDéfinit la chaîne utilisée pour mettre en retrait les nœuds enfants par rapport à leurs parents.
setLineSeparator(separator)FormatDéfinit la chaîne à insérer chaque fois que le formateur insère normalement un saut de ligne.
setOmitDeclaration(omitDeclaration)FormatIndique si le formateur doit omettre la déclaration XML, telle que <?xml version="1.0" encoding="UTF-8"?>.
setOmitEncoding(omitEncoding)FormatIndique si le formateur doit omettre l'encodage dans la déclaration XML, comme le champ d'encodage dans <?xml version="1.0" encoding="UTF-8"?>.

Namespace

Méthodes

MéthodeType renvoyéBrève description
getPrefix()StringObtient le préfixe de l'espace de noms.
getURI()StringObtient l'URI de l'espace de noms.

ProcessingInstruction

Méthodes

MéthodeType renvoyéBrève description
detach()Content|nullDétache le nœud de son nœud parent Element.
getData()StringObtient les données brutes pour chaque instruction du nœud ProcessingInstruction.
getParentElement()Element|nullObtient le nœud parent Element du nœud.
getTarget()StringRécupère la cible du nœud ProcessingInstruction.
getValue()StringRécupère la valeur textuelle de tous les nœuds qui sont des enfants directs ou indirects du nœud, dans l'ordre dans lequel ils apparaissent dans le document.

Text

Méthodes

MéthodeType renvoyéBrève description
append(text)TextAjoute le texte donné à tout contenu déjà présent dans le nœud.
detach()Content|nullDétache le nœud de son nœud parent Element.
getParentElement()Element|nullObtient le nœud parent Element du nœud.
getText()StringObtient la valeur textuelle du nœud Text.
getValue()StringRécupère la valeur textuelle de tous les nœuds qui sont des enfants directs ou indirects du nœud, dans l'ordre dans lequel ils apparaissent dans le document.
setText(text)TextDéfinit la valeur textuelle du nœud Text.

XmlService

Propriétés

PropriétéTypeDescription
ContentTypesContentTypeÉnumération représentant les types de nœuds de contenu XML.

Méthodes

MéthodeType renvoyéBrève description
createCdata(text)CdataCrée un nœud CDATASection non associé avec la valeur donnée.
createComment(text)CommentCrée un nœud Comment non associé avec la valeur donnée.
createDocType(elementName)DocTypeCrée un nœud DocumentType non associé pour le nœud Element racine avec le nom donné.
createDocType(elementName, systemId)DocTypeCrée un nœud DocumentType non associé pour le nœud Element racine avec le nom donné et l'ID système donné pour les données du sous-ensemble externe.
createDocType(elementName, publicId, systemId)DocTypeCrée un nœud DocumentType non associé pour le nœud Element racine avec le nom donné, ainsi que l'ID public et l'ID système donnés pour les données du sous-ensemble externe.
createDocument()DocumentCrée un document XML vide.
createDocument(rootElement)DocumentCrée un document XML avec le nœud racine Element donné.
createElement(name)ElementCrée un nœud Element non associé avec le nom local donné et sans espace de noms.
createElement(name, namespace)ElementCrée un nœud Element non associé avec le nom local et l'espace de noms spécifiés.
createText(text)TextCrée un nœud Text non associé avec la valeur donnée.
getCompactFormat()FormatCrée un objet Format pour générer un document XML compact.
getNamespace(uri)NamespaceCrée un Namespace avec l'URI donné.
getNamespace(prefix, uri)NamespaceCrée un Namespace avec le préfixe et l'URI indiqués.
getNoNamespace()NamespaceCrée un Namespace qui représente l'absence d'un espace de noms réel.
getPrettyFormat()FormatCrée un objet Format pour générer un document XML lisible.
getRawFormat()FormatCrée un objet Format pour générer un document XML brut.
getXmlNamespace()NamespaceCrée un Namespace avec le préfixe xml standard.
parse(xml)DocumentCrée un Document à partir du code XML fourni, sans valider le code XML.