Class XmlService

XmlService

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 the
// Google Workspace Developer blog.
function parseXml() {
  const url = 'https://gsuite-developers.googleblog.com/atom.xml';
  const xml = UrlFetchApp.fetch(url).getContentText();
  const document = XmlService.parse(xml);
  const root = document.getRootElement();
  const atom = XmlService.getNamespace('http://www.w3.org/2005/Atom');

  const entries = root.getChildren('entry', atom);
  for (let i = 0; i < entries.length; i++) {
    const title = entries[i].getChild('title', atom).getText();
    const categoryElements = entries[i].getChildren('category', atom);
    const labels = [];
    for (let j = 0; j < categoryElements.length; j++) {
      labels.push(categoryElements[j].getAttribute('term').getValue());
    }
    Logger.log('%s (%s)', title, labels.join(', '));
  }
}

// Create and log an XML representation of the threads in your Gmail inbox.
function createXml() {
  const root = XmlService.createElement('threads');
  const threads = GmailApp.getInboxThreads();
  for (let i = 0; i < threads.length; i++) {
    const child =
        XmlService.createElement('thread')
            .setAttribute('messageCount', threads[i].getMessageCount())
            .setAttribute('isUnread', threads[i].isUnread())
            .setText(threads[i].getFirstMessageSubject());
    root.addContent(child);
  }
  const document = XmlService.createDocument(root);
  const xml = XmlService.getPrettyFormat().format(document);
  Logger.log(xml);
}

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 donné, sans le valider.

Documentation détaillée

createCdata(text)

Crée un nœud CDATASection non associé avec la valeur donnée.

Paramètres

NomTypeDescription
textStringValeur à définir.

Renvois

Cdata : nœud CDATASection nouvellement créé.


createComment(text)

Crée un nœud Comment non associé avec la valeur donnée.

Paramètres

NomTypeDescription
textStringValeur à définir.

Renvois

Comment : nœud Comment nouvellement créé.


createDocType(elementName)

Crée un nœud DocumentType non associé pour le nœud Element racine avec le nom donné.

Paramètres

NomTypeDescription
elementNameStringNom du nœud Element racine à spécifier dans la déclaration DocType.

Renvois

DocType : nœud DocumentType nouvellement créé.


createDocType(elementName, systemId)

Cré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.

Paramètres

NomTypeDescription
elementNameStringNom du nœud Element racine à spécifier dans la déclaration DocType.
systemIdStringID système des données du sous-ensemble externe à définir.

Renvois

DocType : nœud DocumentType nouvellement créé.


createDocType(elementName, publicId, systemId)

Cré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.

Paramètres

NomTypeDescription
elementNameStringNom du nœud Element racine à spécifier dans la déclaration DocType.
publicIdStringID public des données du sous-ensemble externe à définir.
systemIdStringID système des données du sous-ensemble externe à définir.

Renvois

DocType : nœud DocumentType nouvellement créé.


createDocument()

Crée un document XML vide.

Renvois

Document : document nouvellement créé.


createDocument(rootElement)

Crée un document XML avec le nœud racine Element donné.

Paramètres

NomTypeDescription
rootElementElementNœud Element racine à définir.

Renvois

Document : document nouvellement créé.


createElement(name)

Crée un nœud Element non associé avec le nom local donné et sans espace de noms.

Paramètres

NomTypeDescription
nameStringNom local à définir.

Renvois

Element : nœud Element nouvellement créé.


createElement(name, namespace)

Crée un nœud Element non associé avec le nom local et l'espace de noms spécifiés.

Paramètres

NomTypeDescription
nameStringNom local à définir.
namespaceNamespaceEspace de noms à définir.

Renvois

Element : nœud Element nouvellement créé.


createText(text)

Crée un nœud Text non associé avec la valeur donnée.

Paramètres

NomTypeDescription
textStringValeur à définir.

Renvois

Text : nœud Text nouvellement créé.


getCompactFormat()

Crée un objet Format pour générer un document XML compact. Par défaut, le formateur utilise l'encodage UTF-8, sans indentation ni saut de ligne supplémentaire, mais inclut la déclaration XML et son encodage.

// Log an XML document in compact form.
const xml = '<root><a><b>Text!</b><b>More text!</b></a></root>';
const document = XmlService.parse(xml);
const output = XmlService.getCompactFormat().format(document);
Logger.log(output);

Renvois

Format : formateur nouvellement créé.


getNamespace(uri)

Crée un Namespace avec l'URI donné.

Paramètres

NomTypeDescription
uriStringURI de l'espace de noms.

Renvois

Namespace : espace de noms nouvellement créé.


getNamespace(prefix, uri)

Crée un Namespace avec le préfixe et l'URI indiqués.

Paramètres

NomTypeDescription
prefixStringPréfixe de l'espace de noms.
uriStringURI de l'espace de noms.

Renvois

Namespace : espace de noms nouvellement créé.


getNoNamespace()

Crée un Namespace qui représente l'absence d'un espace de noms réel.

Renvois

Namespace : espace de noms nouvellement créé.


getPrettyFormat()

Crée un objet Format pour générer un document XML lisible. Le formateur utilise par défaut l'encodage UTF-8, une indentation de deux espaces, des séparateurs de ligne \r\n après chaque nœud et inclut la déclaration XML et son encodage.

// Log an XML document in human-readable form.
const xml = '<root><a><b>Text!</b><b>More text!</b></a></root>';
const document = XmlService.parse(xml);
const output = XmlService.getPrettyFormat().format(document);
Logger.log(output);

Renvois

Format : formateur nouvellement créé.


getRawFormat()

Crée un objet Format pour générer un document XML brut. Par défaut, le formateur utilise l'encodage UTF-8, sans indentation ni saut de ligne autre que ceux fournis dans le document XML lui-même, et inclut la déclaration XML et son encodage.

// Log an XML document in raw form.
const xml = '<root><a><b>Text!</b><b>More text!</b></a></root>';
const document = XmlService.parse(xml);
const output = XmlService.getRawFormat().format(document);
Logger.log(output);

Renvois

Format : formateur nouvellement créé.


getXmlNamespace()

Crée un Namespace avec le préfixe xml standard.

Renvois

Namespace : espace de noms nouvellement créé.


parse(xml)

Crée un Document à partir du code XML fourni, sans valider le code XML.

const xml = '<root><a><b>Text!</b><b>More text!</b></a></root>';
const doc = XmlService.parse(xml);

Paramètres

NomTypeDescription
xmlStringFichier XML à analyser.

Renvois

Document : document nouvellement créé.