Class XmlService

XmlService

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

// Log the title and labels for the first page of blog posts on the
// Google Workspace Developer blog.
function parseXml() {
  var url = 'https://gsuite-developers.googleblog.com/atom.xml';
  var xml = UrlFetchApp.fetch(url).getContentText();
  var document = XmlService.parse(xml);
  var root = document.getRootElement();
  var atom = XmlService.getNamespace('http://www.w3.org/2005/Atom');

  var entries = root.getChildren('entry', atom);
  for (var i = 0; i < entries.length; i++) {
    var title = entries[i].getChild('title', atom).getText();
    var categoryElements = entries[i].getChildren('category', atom);
    var labels = [];
    for (var 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() {
  var root = XmlService.createElement('threads');
  var threads = GmailApp.getInboxThreads();
  for (var i = 0; i < threads.length; i++) {
    var child = XmlService.createElement('thread')
        .setAttribute('messageCount', threads[i].getMessageCount())
        .setAttribute('isUnread', threads[i].isUnread())
        .setText(threads[i].getFirstMessageSubject());
    root.addContent(child);
  }
  var document = XmlService.createDocument(root);
  var 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 fournis.
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 fournis.
getNoNamespace()NamespaceCrée un Namespace qui représente l'absence d'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 un Document à partir du fichier XML donné, sans valider le fichier XML.

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 que vous venez de créer


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 que vous venez de créer


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 que vous venez de créer


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
systemIdStringl'ID système du sous-ensemble externe de données à définir

Renvois

DocType : nœud DocumentType que vous venez de créer


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
publicIdStringl'ID public du sous-ensemble externe de données à définir
systemIdStringl'ID système du sous-ensemble externe de données à définir

Renvois

DocType : nœud DocumentType que vous venez de créer


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
rootElementElementle nœud Element racine pour 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
nameStringle nom local pour définir

Renvois

Element : nœud Element que vous venez de créer


createElement(name, namespace)

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

Paramètres

NomTypeDescription
nameStringle nom local pour définir
namespaceNamespacel'espace de noms à définir

Renvois

Element : nœud Element que vous venez de créer


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 que vous venez de créer


getCompactFormat()

Crée un objet Format pour générer un document XML compact. L'outil de mise en forme utilise par défaut l'encodage UTF-8, sans retrait ni saut de ligne, mais inclut la déclaration XML et son encodage.

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

Renvois

Format : outil de mise en forme 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 fournis.

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'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. L'outil de mise en forme utilise par défaut l'encodage UTF-8, un retrait à deux espaces et des séparateurs de lignes \r\n après chaque nœud. Il inclut la déclaration XML et son encodage.

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

Renvois

Format : outil de mise en forme nouvellement créé


getRawFormat()

Crée un objet Format pour générer un document XML brut. L'outil de mise en forme utilise par défaut l'encodage UTF-8, aucun retrait ni aucun saut de ligne autres que ceux fournis dans le document XML lui-même. Il inclut la déclaration XML et son encodage.

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

Renvois

Format : outil de mise en forme 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 fichier XML donné, sans valider le fichier XML.

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

Paramètres

NomTypeDescription
xmlStringle XML pour analyser

Renvois

Document : document nouvellement créé