Class XmlService

XmlService

Layanan ini memungkinkan skrip mengurai, menjelajahi, 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() {
  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);
}

Properti

PropertiJenisDeskripsi
ContentTypesContentTypeEnumerasi yang merepresentasikan jenis node konten XML.

Metode

MetodeJenis nilai yang ditampilkanDeskripsi singkat
createCdata(text)CdataMembuat node CDATASection yang tidak terlampir dengan nilai yang diberikan.
createComment(text)CommentMembuat node Comment yang tidak terlampir dengan nilai yang diberikan.
createDocType(elementName)DocTypeMembuat node DocumentType yang tidak terlampir untuk node Element root dengan nama yang diberikan.
createDocType(elementName, systemId)DocTypeMembuat node DocumentType yang tidak terlampir 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 terlampir 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 Element root yang ditentukan.
createElement(name)ElementMembuat node Element yang tidak terlampir dengan nama lokal yang diberikan dan tanpa namespace.
createElement(name, namespace)ElementMembuat node Element yang tidak terlampir dengan nama lokal dan namespace yang ditentukan.
createText(text)TextMembuat node Text yang tidak terlampir dengan nilai yang diberikan.
getCompactFormat()FormatMembuat objek Format untuk menghasilkan dokumen XML ringkas.
getNamespace(uri)NamespaceMembuat Namespace dengan URI yang ditentukan.
getNamespace(prefix, uri)NamespaceMembuat Namespace dengan awalan dan URI yang ditentukan.
getNoNamespace()NamespaceMembuat Namespace yang menunjukkan tidak adanya namespace nyata.
getPrettyFormat()FormatMembuat objek Format untuk menghasilkan dokumen XML yang dapat dibaca manusia.
getRawFormat()FormatMembuat objek Format untuk menampilkan 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 terlampir dengan nilai yang diberikan.

Parameter

NamaJenisDeskripsi
textStringNilai yang akan ditetapkan.

Pulang pergi

Cdata — Node CDATASection yang baru dibuat.


createComment(text)

Membuat node Comment yang tidak terlampir dengan nilai yang diberikan.

Parameter

NamaJenisDeskripsi
textStringNilai yang akan ditetapkan.

Pulang pergi

Comment — Node Comment yang baru dibuat.


createDocType(elementName)

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

Parameter

NamaJenisDeskripsi
elementNameStringNama node Element root yang akan ditentukan dalam deklarasi DocType.

Pulang pergi

DocType — Node DocumentType yang baru dibuat.


createDocType(elementName, systemId)

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

Parameter

NamaJenisDeskripsi
elementNameStringNama node Element root yang akan ditentukan dalam deklarasi DocType.
systemIdStringID sistem data subset eksternal yang akan ditetapkan.

Pulang pergi

DocType — Node DocumentType yang baru dibuat.


createDocType(elementName, publicId, systemId)

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

Parameter

NamaJenisDeskripsi
elementNameStringNama node Element root yang akan ditentukan dalam deklarasi DocType.
publicIdStringID publik data subset eksternal yang akan ditetapkan.
systemIdStringID sistem data subset eksternal yang akan ditetapkan.

Pulang pergi

DocType — Node DocumentType yang baru dibuat.


createDocument()

Membuat dokumen XML kosong.

Pulang pergi

Document — Dokumen yang baru dibuat.


createDocument(rootElement)

Membuat dokumen XML dengan node Element root yang ditentukan.

Parameter

NamaJenisDeskripsi
rootElementElementNode Element root yang akan ditetapkan.

Pulang pergi

Document — Dokumen yang baru dibuat.


createElement(name)

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

Parameter

NamaJenisDeskripsi
nameStringNama lokal yang akan ditetapkan.

Pulang pergi

Element — Node Element yang baru dibuat.


createElement(name, namespace)

Membuat node Element yang tidak terlampir dengan nama lokal dan namespace yang ditentukan.

Parameter

NamaJenisDeskripsi
nameStringNama lokal yang akan ditetapkan.
namespaceNamespaceNamespace yang akan ditetapkan.

Pulang pergi

Element — Node Element yang baru dibuat.


createText(text)

Membuat node Text yang tidak terlampir dengan nilai yang diberikan.

Parameter

NamaJenisDeskripsi
textStringNilai yang akan ditetapkan.

Pulang pergi

Text — Node Text yang baru dibuat.


getCompactFormat()

Membuat objek Format untuk menghasilkan dokumen XML ringkas. Pemformat secara default menggunakan encoding UTF-8, tanpa indentasi, dan tanpa jeda baris tambahan, tetapi menyertakan deklarasi XML dan encoding-nya.

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

Pulang pergi

Format — Pemformat yang baru dibuat.


getNamespace(uri)

Membuat Namespace dengan URI yang ditentukan.

Parameter

NamaJenisDeskripsi
uriStringURI untuk namespace.

Pulang pergi

Namespace — Namespace yang baru dibuat.


getNamespace(prefix, uri)

Membuat Namespace dengan awalan dan URI yang ditentukan.

Parameter

NamaJenisDeskripsi
prefixStringAwalan untuk namespace.
uriStringURI untuk namespace.

Pulang pergi

Namespace — Namespace yang baru dibuat.


getNoNamespace()

Membuat Namespace yang menunjukkan tidak adanya namespace nyata.

Pulang pergi

Namespace — Namespace yang baru dibuat.


getPrettyFormat()

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

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

Pulang pergi

Format — Pemformat yang baru dibuat.


getRawFormat()

Membuat objek Format untuk menampilkan dokumen XML mentah. Pemformat secara default menggunakan encoding UTF-8, tanpa indentasi dan tanpa jeda baris selain yang disediakan dalam dokumen XML itu sendiri, serta menyertakan deklarasi XML dan encoding-nya.

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

Pulang pergi

Format — Pemformat yang baru dibuat.


getXmlNamespace()

Membuat Namespace dengan awalan xml standar.

Pulang pergi

Namespace — Namespace yang baru dibuat.


parse(xml)

Membuat Document dari XML yang diberikan, tanpa memvalidasi XML.

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

Parameter

NamaJenisDeskripsi
xmlStringXML yang akan diuraikan.

Pulang pergi

Document — Dokumen yang baru dibuat.