Class XmlService

XmlService

Layanan ini memungkinkan skrip 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() {
  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 mewakili 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 Element root 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 yang diberikan.
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 ditentukan.
getNamespace(prefix, uri)NamespaceMembuat Namespace dengan awalan dan URI yang ditentukan.
getNoNamespace()NamespaceMembuat Namespace yang mewakili tidak adanya namespace yang 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

NamaJenisDeskripsi
textStringnilai yang akan ditetapkan

Pulang pergi

Cdata — node CDATASection yang baru dibuat


createComment(text)

Membuat node Comment yang tidak terpasang 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 terpasang 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 terpasang 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 terpasang 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 diberikan.

Parameter

NamaJenisDeskripsi
rootElementElementnode Element root yang akan ditetapkan

Pulang pergi

Document — dokumen yang baru dibuat


createElement(name)

Membuat node Element yang tidak terpasang 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 terpasang dengan nama dan namespace lokal yang diberikan.

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 terpasang 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 yang ringkas. Formator secara default menggunakan encoding UTF-8, tanpa indentasi, dan tanpa baris baru 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 mewakili tidak adanya namespace yang sebenarnya.

Pulang pergi

Namespace — namespace yang baru dibuat


getPrettyFormat()

Membuat objek Format untuk menghasilkan dokumen XML yang dapat dibaca manusia. Formator secara default menggunakan encoding UTF-8, indentasi dua spasi, pemisah baris \r\n setelah setiap node, dan menyertakan deklarasi XML serta 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 menghasilkan dokumen XML mentah. Pemformat secara default menggunakan encoding UTF-8, tanpa indentasi dan tanpa baris baru selain yang disediakan dalam dokumen XML itu sendiri, dan menyertakan deklarasi XML serta 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