Class XmlService

Layanan Xml

Layanan ini memungkinkan skrip untuk mengurai, menavigasi, dan membuat dokumen XML secara terprogram.

// 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);
}

Properti

PropertiJenisDeskripsi
ContentTypesContentTypeEnumerasi yang merepresentasikan jenis node konten XML.

Metode

MetodeJenis hasil yang ditampilkanDeskripsi singkat
createCdata(text)CdataMembuat node CDATASection yang tidak terpasang dengan nilai yang diberikan.
createComment(text)CommentMembuat node Comment yang tidak terpasang dengan nilai yang diberikan.
createDocType(elementName)DocTypeMembuat node DocumentType yang tidak terpasang untuk node Element root dengan nama yang diberikan.
createDocType(elementName, systemId)DocTypeMembuat node DocumentType yang tidak terpasang untuk node Element root dengan nama yang diberikan, dan ID sistem yang diberikan untuk data subset eksternal.
createDocType(elementName, publicId, systemId)DocTypeMembuat node DocumentType yang tidak terpasang untuk node Element root dengan nama yang diberikan, serta ID publik dan ID sistem yang diberikan untuk data subset eksternal.
createDocument()DocumentMembuat dokumen XML kosong.
createDocument(rootElement)DocumentMembuat dokumen XML dengan node root Element yang diberikan.
createElement(name)ElementMembuat node Element yang tidak terpasang dengan nama lokal yang diberikan dan tanpa namespace.
createElement(name, namespace)ElementMembuat node Element yang tidak terpasang dengan nama dan namespace lokal tertentu.
createText(text)TextMembuat node Text yang tidak terpasang dengan nilai yang diberikan.
getCompactFormat()FormatMembuat objek Format untuk menghasilkan dokumen XML yang ringkas.
getNamespace(uri)NamespaceMembuat Namespace dengan URI yang diberikan.
getNamespace(prefix, uri)NamespaceMembuat Namespace dengan awalan dan URI yang diberikan.
getNoNamespace()NamespaceMembuat Namespace yang mewakili tidak adanya namespace sebenarnya.
getPrettyFormat()FormatMembuat objek Format untuk menghasilkan dokumen XML yang dapat dibaca manusia.
getRawFormat()FormatMembuat objek Format untuk menghasilkan dokumen XML mentah.
getXmlNamespace()NamespaceMembuat Namespace dengan awalan xml standar.
parse(xml)DocumentMembuat Document dari XML yang diberikan, tanpa memvalidasi XML.

Dokumentasi mendetail

createCdata(text)

Membuat node CDATASection yang tidak terpasang dengan nilai yang diberikan.

Parameter

NameJenisDeskripsi
textStringnilai yang akan ditetapkan

Return

Cdata — node CDATASection yang baru dibuat


createComment(text)

Membuat node Comment yang tidak terpasang dengan nilai yang diberikan.

Parameter

NameJenisDeskripsi
textStringnilai yang akan ditetapkan

Return

Comment — node Comment yang baru dibuat


createDocType(elementName)

Membuat node DocumentType yang tidak terpasang untuk node Element root dengan nama yang diberikan.

Parameter

NameJenisDeskripsi
elementNameStringnama node Element root untuk ditentukan dalam deklarasi DocType

Return

DocType — node DocumentType yang baru dibuat


createDocType(elementName, systemId)

Membuat node DocumentType yang tidak terpasang untuk node Element root dengan nama yang diberikan, dan ID sistem yang diberikan untuk data subset eksternal.

Parameter

NameJenisDeskripsi
elementNameStringnama node Element root untuk ditentukan dalam deklarasi DocType
systemIdStringID sistem data subset eksternal yang akan ditetapkan

Return

DocType — node DocumentType yang baru dibuat


createDocType(elementName, publicId, systemId)

Membuat node DocumentType yang tidak terpasang untuk node Element root dengan nama yang diberikan, serta ID publik dan ID sistem yang diberikan untuk data subset eksternal.

Parameter

NameJenisDeskripsi
elementNameStringnama node Element root untuk ditentukan dalam deklarasi DocType
publicIdStringID publik data subset eksternal yang akan ditetapkan
systemIdStringID sistem data subset eksternal yang akan ditetapkan

Return

DocType — node DocumentType yang baru dibuat


createDocument()

Membuat dokumen XML kosong.

Return

Document — dokumen yang baru dibuat


createDocument(rootElement)

Membuat dokumen XML dengan node root Element yang diberikan.

Parameter

NameJenisDeskripsi
rootElementElementnode Element root untuk ditetapkan

Return

Document — dokumen yang baru dibuat


createElement(name)

Membuat node Element yang tidak terpasang dengan nama lokal yang diberikan dan tanpa namespace.

Parameter

NameJenisDeskripsi
nameStringnama lokal yang akan ditetapkan

Return

Element — node Element yang baru dibuat


createElement(name, namespace)

Membuat node Element yang tidak terpasang dengan nama dan namespace lokal tertentu.

Parameter

NameJenisDeskripsi
nameStringnama lokal yang akan ditetapkan
namespaceNamespacenamespace yang akan ditetapkan

Return

Element — node Element yang baru dibuat


createText(text)

Membuat node Text yang tidak terpasang dengan nilai yang diberikan.

Parameter

NameJenisDeskripsi
textStringnilai yang akan ditetapkan

Return

Text — node Text yang baru dibuat


getCompactFormat()

Membuat objek Format untuk menghasilkan dokumen XML yang ringkas. Pemformat defaultnya adalah encoding UTF-8, tidak ada indentasi, dan tidak ada jeda baris tambahan, tetapi menyertakan deklarasi XML dan encoding-nya.

// 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);

Return

Format — pemformat yang baru dibuat


getNamespace(uri)

Membuat Namespace dengan URI yang diberikan.

Parameter

NameJenisDeskripsi
uriStringURI untuk namespace

Return

Namespace — namespace yang baru dibuat


getNamespace(prefix, uri)

Membuat Namespace dengan awalan dan URI yang diberikan.

Parameter

NameJenisDeskripsi
prefixStringawalan untuk namespace
uriStringURI untuk namespace

Return

Namespace — namespace yang baru dibuat


getNoNamespace()

Membuat Namespace yang mewakili tidak adanya namespace sebenarnya.

Return

Namespace — namespace yang baru dibuat


getPrettyFormat()

Membuat objek Format untuk menghasilkan dokumen XML yang dapat dibaca manusia. Pemformat defaultnya adalah encoding UTF-8, indentasi dua spasi, pemisah baris \r\n setelah setiap node, serta menyertakan deklarasi XML dan encoding-nya.

// 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);

Return

Format — pemformat yang baru dibuat


getRawFormat()

Membuat objek Format untuk menghasilkan dokumen XML mentah. Pemformat secara default ditetapkan ke encoding UTF-8, tidak ada indentasi dan tidak ada jeda baris selain yang disediakan dalam dokumen XML itu sendiri. Kode ini mencakup deklarasi XML dan encoding-nya.

// 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);

Return

Format — pemformat yang baru dibuat


getXmlNamespace()

Membuat Namespace dengan awalan xml standar.

Return

Namespace — namespace yang baru dibuat


parse(xml)

Membuat Document dari XML yang diberikan, tanpa memvalidasi XML.

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

Parameter

NameJenisDeskripsi
xmlStringXML yang akan diurai

Return

Document — dokumen yang baru dibuat