XML Service

Service XML

Ce service permet aux scripts d'analyser, de naviguer 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 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, de naviguer 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()ContentDétache le nœud de son nœud Element parent.
getParentElement()ElementRécupère le nœud Element parent 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()ContentDétache le nœud de son nœud Element parent.
getParentElement()ElementRécupère le nœud Element parent 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 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()ContentDétache le nœud de son nœud Element parent.
getParentElement()ElementRécupère le nœud Element parent 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
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()ContentDétache 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 Element parent 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 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 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()ElementDé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)ContentRécupère le nœud à 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 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 à 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 associées de tous les nœuds qui sont des enfants immédiats du nœud {@code Element}.
detach()ContentDétache 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 {@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)ElementObtient 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 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 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 à 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 Element parent 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)BooleanIndique 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, si un tel attribut existe.
removeAttribute(attributeName)BooleanSupprime l'attribut de ce nœud Element avec le nom donné et sans espace de noms, s'il 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.
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 à 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 donné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 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()ContentDétache 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 parent 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)StringAffiche l'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 indenter 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, par exemple <?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()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()ContentDétache 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 parent 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 déjà dans le nœud.
detach()ContentDétache le nœud de son nœud Element parent.
getParentElement()ElementRécupère le nœud Element parent 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é au nœud Element racine avec le nom donné.
createDocType(elementName, systemId)DocTypeCrée un nœud DocumentType non associé au 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é au 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 donné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 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 une Document à partir du fichier XML donné, sans le valider.