XML Service

Service XML

Ce service permet aux scripts d'analyser, de parcourir et de créer automatiquement 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.
FormatOutil de mise en forme permettant de générer un document XML, avec trois formats prédéfinis pouvant ê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 des documents XML par programmation.

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 déjà dans le nœud.
detach()ContentIl dissocie le nœud de son nœud Element parent.
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 enfants directs ou indirects du nœud, dans l'ordre qui 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()ContentIl dissocie le nœud de son nœud Element parent.
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 enfants directs ou indirects du nœud, dans l'ordre qui 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 à des fins de 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 à des fins de saisie semi-automatique.
asEntityRef()EntityRefConvertit le nœud en tant que nœud EntityReference à des fins de 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()ContentIl dissocie le nœud de son nœud Element parent.
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 enfants directs ou indirects du nœud, dans l'ordre qui apparaissent dans le document.

ContentType

Propriétés

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

DocType

Méthodes

MéthodeType renvoyéBrève description
detach()ContentIl dissocie le nœud de son nœud Element parent.
getElementName()StringRécupère le nom du nœud racine Element 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 du sous-ensemble de données externe pour le nœud DocumentType.
getSystemId()StringRécupère l'ID système du sous-ensemble de données externe pour le nœud DocumentType.
getValue()StringRécupère la valeur textuelle de tous les nœuds enfants directs ou indirects du nœud, dans l'ordre qui apparaissent dans le document.
setElementName(name)DocTypeDéfinit le nom du nœud racine Element à spécifier dans DocType. la déclaration.
setInternalSubset(data)DocTypeDéfinit les données du sous-ensemble interne pour le nœud DocumentType.
setPublicId(id)DocTypeDéfinit l'ID public du sous-ensemble de données externe pour le nœud DocumentType.
setSystemId(id)DocTypeDéfinit l'ID système du sous-ensemble de données externe 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 de 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 renvoie 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 de l'index donné parmi tous les nœuds qui sont des enfants immédiats de document.
getContentSize()IntegerRécupère le nombre de nœuds qui sont les enfants immédiats du document.
getDescendants()Content[]Récupère tous les nœuds 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 racine Element du document.
hasRootElement()BooleanDétermine si le document comporte un nœud racine Element.
removeContent()Content[]Supprime tous les nœuds qui sont des enfants immédiats du document.
removeContent(content)BooleanSupprime le nœud donné s'il est un enfant immédiat du document.
removeContent(index)ContentSupprime le nœud de l'index donné parmi tous les nœuds qui sont des enfants immédiats de 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 de 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()ContentIl dissocie le nœud de son nœud Element parent.
getAllContent()Content[]Récupère tous les nœuds 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 aucun 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 aucun espace de noms qui est immédiatement enfant 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, ce qui correspond à enfant 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 une adresse enfant du nœud Element.
getChildren()Element[]Récupère tous les nœuds Element qui sont les enfants immédiats de ce nœud Element, dans le leur ordre d'apparition dans le document.
getChildren(name)Element[]Récupère tous les nœuds Element avec le nom donné et aucun 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 de l'index donné parmi tous les nœuds qui sont des enfants immédiats de {@code Element}.
getContentSize()IntegerRécupère le nombre de nœuds qui sont les enfants immédiats du nœud {@code Element}.
getDescendants()Content[]Récupère tous les nœuds 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 enfants directs ou indirects du nœud, dans l'ordre qui 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, 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, le cas échéant un 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 est un enfant immédiat du nœud {@code Element}.
removeContent(index)ContentSupprime le nœud de l'index donné parmi tous les nœuds qui sont des enfants immédiats de {@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, mais 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 donné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()ContentIl dissocie le nœud de son nœud Element parent.
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 enfants directs ou indirects du nœud, dans l'ordre qui 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 formatée.
setEncoding(encoding)FormatDéfinit le codage 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érerait 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, tel que le 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()ContentIl dissocie le nœud de son nœud Element parent.
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 enfants directs ou indirects du nœud, dans l'ordre qui apparaissent dans le document.

Text

Méthodes

MéthodeType renvoyéBrève description
append(text)TextAjoute le texte donné à tout contenu existant déjà dans le nœud.
detach()ContentIl dissocie le nœud de son nœud Element parent.
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 enfants directs ou indirects du nœud, dans l'ordre qui 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 racine Element avec le nom donné.
createDocType(elementName, systemId)DocTypeCrée un nœud DocumentType non associé pour le nœud racine Element 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 racine Element avec le nom donné, ainsi que l'ID public et l'ID système fournis pour le sous-ensemble de données 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 indiqué et aucun espace de noms.
createElement(name, namespace)ElementCrée un nœud Element non associé avec le nom local et l'espace de noms indiqué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 objet Namespace avec l'URI donné.
getNamespace(prefix, uri)NamespaceCrée un objet Namespace avec le préfixe et l'URI donnés.
getNoNamespace()NamespaceCrée un Namespace qui représente l'absence d'un véritable espace de noms.
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 objet Namespace avec le préfixe xml standard.
parse(xml)DocumentCrée un Document à partir du fichier XML donné, sans valider le XML.