XML Service

Service XML

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

// 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 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 des documents XML, de les parcourir et de les programmer.

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 pour 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 qui existe déjà dans le nœud.
detach()ContentDissocie le nœud de son nœud Element parent.
getParentElement()ElementRécupère le nœud Element du nœud parent.
getText()StringRécupère la valeur de texte du nœud Text.
getValue()StringRécupère la valeur de texte 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 de texte du nœud Text.

Comment

Méthodes

MéthodeType renvoyéBrève description
detach()ContentDissocie le nœud de son nœud Element parent.
getParentElement()ElementRécupère le nœud Element du nœud parent.
getText()StringRécupère la valeur de texte du nœud Comment.
getValue()StringRécupère la valeur de texte 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 de texte du nœud Comment.

Content

Méthodes

MéthodeType renvoyéBrève description
asCdata()CdataConvertit le nœud en nœud CDATASection à des fins de saisie semi-automatique.
asComment()CommentConvertit le nœud en nœud Comment à des fins de saisie semi-automatique.
asDocType()DocTypeConvertit le nœud en nœud DocumentType à des fins de saisie semi-automatique.
asElement()ElementConvertit le nœud en nœud Element à des fins de saisie semi-automatique.
asEntityRef()EntityRefConvertit le nœud en nœud EntityReference à des fins de saisie semi-automatique.
asProcessingInstruction()ProcessingInstructionConvertit le nœud en nœud ProcessingInstruction à des fins de saisie semi-automatique.
asText()TextConvertit le nœud en nœud Text à des fins de saisie semi-automatique.
detach()ContentDissocie le nœud de son nœud Element parent.
getParentElement()ElementRécupère le nœud Element du nœud parent.
getType()ContentTypeRécupère le type de contenu du nœud.
getValue()StringRécupère la valeur de texte 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 Element parent.
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 Element du nœud parent.
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 des données du sous-ensemble externe pour le nœud DocumentType.
getValue()StringRécupère la valeur de texte 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 du sous-ensemble 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é à 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 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 d'un 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é, s'il s'agit d'un enfant immédiat du document.
removeContent(index)ContentSupprime le nœud d'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[]Cette opération crée des copies non associées de tous les nœuds qui sont les enfants immédiats du nœud ('codecode Element}).
detach()ContentDissocie le nœud de son nœud Element parent.
getAllContent()Content[]Récupère tous les nœuds qui sont des enfants immédiats du nœud ('codecode 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 fournis.
getAttributes()Attribute[]Récupère tous les attributs pour 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 sont un enfant immédiat de ce nœud Element.
getChildText(name)StringRécupère la valeur de texte 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 de texte du nœud avec le nom et l'espace de noms fournis, 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 les 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 spécifié, mais sans espace de noms, qui sont les 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 indiqués, qui sont les 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 à l'index donné parmi tous les nœuds enfants immédiats du nœud gcloud Element.
getContentSize()IntegerRécupère le nombre de nœuds enfants immédiats du nœud goocode Element.
getDescendants()Content[]Récupère tous les nœuds qui sont des enfants directs ou indirects du nœud gcloud Element, dans l'ordre dans lequel ils apparaissent dans le document.
getDocument()DocumentRécupère le document XML contenant le nœud ('codecode Element}".
getName()StringRécupère le nom local du nœud Element.
getNamespace()NamespaceRécupère l'espace de noms pour le 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 Element du nœud parent.
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 de texte du nœud Element.
getValue()StringRécupère la valeur de texte 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 portant le nom donné et sans 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 ('codecode Element}).
removeContent(content)BooleanSupprime le nœud donné s'il s'agit d'un enfant enfant immédiat du nœud ('codecode Element}).
removeContent(index)ContentSupprime le nœud d'index donné parmi tous les nœuds qui sont des enfants immédiats du nœud ('codecode Element}).
setAttribute(attribute)ElementDéfinit l'attribut donné pour ce nœud Element.
setAttribute(name, value)ElementDéfinit l'attribut du nœud Element avec le nom, la valeur et aucun espace de noms fournis.
setAttribute(name, value, namespace)ElementDéfinit l'attribut du nœud Element avec le nom, la valeur et l'espace de noms fournis.
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 de texte du nœud Element.

EntityRef

Méthodes

MéthodeType renvoyéBrève description
detach()ContentDissocie 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 Element du nœud parent.
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 de texte 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)StringRenvoie la chaîne Document mise en forme sous forme de chaîne formatée.
format(element)StringGénère le nœud Element donné sous forme de chaîne formatée.
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 permettant de 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érera normalement un saut de ligne.
setOmitDeclaration(omitDeclaration)FormatDétermine si l'outil de mise en forme doit omettre la déclaration XML, par exemple <?xml version="1.0" encoding="UTF-8"?>.
setOmitEncoding(omitEncoding)FormatDétermine si l'outil de mise en forme doit omettre le codage dans la déclaration XML, par exemple 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 Element parent.
getData()StringRécupère les données brutes pour chaque instruction du nœud ProcessingInstruction.
getParentElement()ElementRécupère le nœud Element du nœud parent.
getTarget()StringRécupère la cible du nœud ProcessingInstruction.
getValue()StringRécupère la valeur de texte 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 qui existe déjà dans le nœud.
detach()ContentDissocie le nœud de son nœud Element parent.
getParentElement()ElementRécupère le nœud Element du nœud parent.
getText()StringRécupère la valeur de texte du nœud Text.
getValue()StringRécupère la valeur de texte 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 de texte 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)DocTypeUn nœud DocumentType non associé est créé pour le nœud racine Element avec le nom donné, ainsi que l'ID de système donné pour les données externes du sous-ensemble.
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 externes du sous-ensemble.
createDocument()DocumentCrée un document XML vide.
createDocument(rootElement)DocumentCrée un document XML avec le nœud Element racine 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 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 Namespace avec l'URI donné.
getNamespace(prefix, uri)NamespaceCrée un Namespace avec le préfixe et l'URI donné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 fichier XML donné, sans valider le fichier XML.