XML Service

Service XML

Ce service permet aux scripts d'analyser, de parcourir et de créer de manière automatisée des documents XML.

// 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 XML CDATASection.
CommentReprésentation d'un nœud XML Comment.
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 XML DocumentType.
DocumentReprésentation d'un document XML.
ElementReprésentation d'un nœud XML Element.
EntityRefReprésentation d'un nœud XML EntityReference.
FormatFormateur permettant de générer des documents 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 XML ProcessingInstruction.
TextReprésentation d'un nœud XML Text.
XmlServiceCe service permet aux scripts d'analyser, de parcourir et de créer de manière automatisée des documents XML.

Attribute

Méthodes

MéthodeType renvoyéBrève description
getName()StringRécupère le nom local de l'attribut.
getNamespace()NamespaceRé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 existant dans le nœud.
detach()ContentDissocie le nœud de son nœud parent Element.
getParentElement()ElementRécupère le nœud parent Element du nœud.
getText()StringRécupère 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()ContentDissocie le nœud de son nœud parent Element.
getParentElement()ElementRécupère le nœud parent Element du nœud.
getText()StringRécupère 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()CdataConvertit le nœud en tant que nœud CDATASection pour la saisie semi-automatique.
asComment()CommentConvertit le nœud en tant que nœud Comment pour la saisie semi-automatique.
asDocType()DocTypeConvertit le nœud en tant que nœud DocumentType pour la saisie semi-automatique.
asElement()ElementConvertit le nœud en tant que nœud Element pour la saisie semi-automatique.
asEntityRef()EntityRefConvertit le nœud en tant que nœud EntityReference pour la saisie semi-automatique.
asProcessingInstruction()ProcessingInstructionConvertit le nœud en tant que nœud ProcessingInstruction pour la saisie semi-automatique.
asText()TextConvertit le nœud en tant que nœud Text pour la saisie semi-automatique.
detach()ContentDissocie le nœud de son nœud parent Element.
getParentElement()ElementRécupère le nœud parent Element du nœud.
getType()ContentTypeRécupère 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
CDATAEnumUn nœud XML CDATASection.
COMMENTEnumUn nœud XML Comment.
DOCTYPEEnumUn nœud XML DocumentType.
ELEMENTEnumUn nœud XML Element.
ENTITYREFEnumUn nœud XML EntityReference.
PROCESSINGINSTRUCTIONEnumUn nœud XML ProcessingInstruction.
TEXTEnumUn nœud XML Text.

DocType

Méthodes

MéthodeType renvoyéBrève description
detach()ContentDissocie le nœud de son nœud parent Element.
getElementName()StringRécupère le nom du nœud Element racine spécifié dans la déclaration DocType.
getInternalSubset()StringRécupère les données du sous-ensemble interne pour le nœud DocumentType.
getParentElement()ElementRécupère le nœud parent Element du nœud.
getPublicId()StringRécupère l'ID public des données du sous-ensemble externe pour le nœud DocumentType.
getSystemId()StringRécupère l'ID système du sous-ensemble externe de données 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 du sous-ensemble externe de données 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é au niveau de l'index donné parmi tous les nœuds qui sont des enfants immédiats du document.
cloneContent()Content[]Crée des copies non associées de tous les nœuds qui sont des enfants immédiats du document.
detachRootElement()ElementDissocie et affiche le nœud Element racine du document.
getAllContent()Content[]Récupère tous les nœuds qui sont des enfants immédiats du document.
getContent(index)ContentRécupère le nœud au niveau de l'index donné parmi tous les nœuds qui sont des enfants immédiats du document.
getContentSize()IntegerRécupère 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()DocTypeRécupère la déclaration DocType du document.
getRootElement()ElementRécupère le nœud Element racine du document.
hasRootElement()BooleanDétermine si le document possède 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é si celui-ci est un enfant immédiat du document.
removeContent(index)ContentSupprime le nœud au niveau de 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é au niveau de 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 associées de tous les nœuds qui sont des enfants immédiats du nœud {@code Element}.
detach()ContentDissocie 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)AttributeRécupère l'attribut de ce nœud Element avec le nom donné et sans espace de noms.
getAttribute(name, namespace)AttributeRécupère l'attribut de ce nœud Element avec le nom et l'espace de noms donné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)ElementRécupère le premier nœud Element avec le nom donné et sans espace de noms qui est un enfant immédiat de ce nœud Element.
getChild(name, namespace)ElementRécupère le premier nœud Element avec le nom et l'espace de noms donnés, qui est un enfant immédiat de ce nœud Element.
getChildText(name)StringRécupère la valeur textuelle du nœud avec le nom donné et sans espace de noms, si le nœud est un enfant immédiat du nœud Element.
getChildText(name, namespace)StringRécupère la valeur textuelle du nœud avec le nom et l'espace de noms donné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 avec 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 avec 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)ContentRécupère le nœud avec l'index donné parmi tous les nœuds qui sont des enfants immédiats du nœud {@code Element}.
getContentSize()IntegerRécupère 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()DocumentRécupère le document XML contenant le nœud {@code Element}.
getName()StringRécupère le nom local du nœud Element.
getNamespace()NamespaceRécupère l'espace de noms du nœud Element.
getNamespace(prefix)NamespaceRécupère l'espace de noms avec le préfixe donné pour le nœud Element.
getParentElement()ElementRécupère le nœud parent Element du nœud.
getQualifiedName()StringRécupère le nom local et le préfixe d'espace de noms du nœud Element, au format [namespacePrefix]:[localName].
getText()StringRécupère 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, le cas échéant.
removeAttribute(attributeName)BooleanSupprime l'attribut de ce nœud Element avec le nom donné et aucun espace de noms, le cas échéant.
removeAttribute(attributeName, namespace)BooleanSupprime l'attribut de ce nœud Element avec le nom et l'espace de noms donnés, le cas échéant.
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 est un enfant immédiat du nœud {@code Element}.
removeContent(index)ContentSupprime le nœud au niveau de 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, et 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 indiqués.
setName(name)ElementDéfinit le nom local du nœud Element.
setNamespace(namespace)ElementDéfinit l'espace de noms du nœud Element.
setText(text)ElementDéfinit la valeur textuelle du nœud Element.

EntityRef

Méthodes

MéthodeType renvoyéBrève description
detach()ContentDissocie le nœud de son nœud parent Element.
getName()StringRécupère le nom du nœud EntityReference.
getParentElement()ElementRécupère le nœud parent Element du nœud.
getPublicId()StringRécupère l'ID public du nœud EntityReference.
getSystemId()StringRécupère 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)StringGénère l'élément Document donné en tant que chaîne mise en forme.
format(element)StringGénère le nœud Element donné en tant que chaîne mise en forme.
setEncoding(encoding)FormatDéfinit l'encodage des caractères que l'outil de mise en forme 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 l'outil de mise en forme insère normalement un saut de ligne.
setOmitDeclaration(omitDeclaration)FormatDétermine si l'outil de mise en forme doit omettre la déclaration XML, telle que <?xml version="1.0" encoding="UTF-8"?>.
setOmitEncoding(omitEncoding)FormatDétermine si l'outil de mise en forme 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()StringRécupère le préfixe de l'espace de noms.
getURI()StringRécupère l'URI de l'espace de noms.

ProcessingInstruction

Méthodes

MéthodeType renvoyéBrève description
detach()ContentDissocie le nœud de son nœud parent Element.
getData()StringRécupère les données brutes pour chaque instruction du nœud ProcessingInstruction.
getParentElement()ElementRécupère 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 existant dans le nœud.
detach()ContentDissocie le nœud de son nœud parent Element.
getParentElement()ElementRécupère le nœud parent Element du nœud.
getText()StringRécupère 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 fournis.
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 fournis.
getNoNamespace()NamespaceCrée un Namespace qui représente l'absence d'espace de noms réel.
getPrettyFormat()FormatCrée un objet Format pour générer un document XML lisible par l'humain.
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 fichier XML donné, sans valider le fichier XML.