Class XmlService

XmlService

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

Documentation détaillée

createCdata(text)

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

Paramètres

NomTypeDescription
textStringla valeur à 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
textStringla valeur à définir ;

Renvois

Comment : nœud Comment nouvellement créé


createDocType(elementName)

Crée un nœud DocumentType non associé au 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é au nœud racine Element 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é 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.

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 créé


createDocument(rootElement)

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

Paramètres

NomTypeDescription
rootElementElementNœud racine Element à définir

Renvois

Document : document 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 donnés.

Paramètres

NomTypeDescription
nameStringNom local à définir
namespaceNamespacel'espace 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
textStringla valeur à définir ;

Renvois

Text : nœud Text nouvellement créé


getCompactFormat()

Crée un objet Format pour générer un document XML compact. Le formateur utilise par défaut l'encodage UTF-8, aucune indentation et aucun 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 : le 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 donnés.

Paramètres

NomTypeDescription
prefixStringle pré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 par l'humain. 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 : le formateur nouvellement créé


getRawFormat()

Crée un objet Format pour générer un document XML brut. Le formateur utilise par défaut l'encodage UTF-8, aucune indentation et aucun 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 : le 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 une Document à partir du fichier XML donné, sans le valider.

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

Paramètres

NomTypeDescription
xmlStringle fichier XML à analyser

Renvois

Document : document créé