Class XmlService

XmlService

บริการนี้อนุญาตให้สคริปต์แยกวิเคราะห์ ไปยังส่วนต่างๆ และสร้างเอกสาร 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);
}

พร็อพเพอร์ตี้

พร็อพเพอร์ตี้ประเภทคำอธิบาย
ContentTypesContentTypeการแจกแจงที่แสดงถึงประเภทของโหนดเนื้อหา XML

เมธอด

วิธีการประเภทการแสดงผลรายละเอียดแบบย่อ
createCdata(text)Cdataสร้างโหนด CDATASection ที่ไม่ได้แนบกับค่าที่กำหนด
createComment(text)Commentสร้างโหนด Comment ที่ไม่ได้แนบกับค่าที่กำหนด
createDocType(elementName)DocTypeสร้างโหนด DocumentType ที่ไม่ได้แนบสำหรับโหนดราก Element ด้วยชื่อที่ตั้งไว้
createDocType(elementName, systemId)DocTypeสร้างโหนด DocumentType ที่ไม่ได้แนบสำหรับโหนดราก Element และรหัสระบบที่กำหนดสำหรับข้อมูลย่อยภายนอก
createDocType(elementName, publicId, systemId)DocTypeสร้างโหนด DocumentType ที่ไม่ได้แนบสำหรับโหนดราก Element ที่มีชื่อเฉพาะ รวมถึงรหัสสาธารณะและรหัสระบบสำหรับข้อมูลย่อยภายนอก
createDocument()Documentสร้างเอกสาร XML ที่ว่างเปล่า
createDocument(rootElement)Documentสร้างเอกสาร XML ที่มีโหนดรูท Element ที่ระบุ
createElement(name)Elementสร้างโหนด Element ที่ไม่ได้แนบที่มีชื่อในเครื่องที่ระบุและไม่มีเนมสเปซ
createElement(name, namespace)Elementสร้างโหนด Element ที่ไม่ได้แนบที่มีชื่อในเครื่องและเนมสเปซที่ระบุ
createText(text)Textสร้างโหนด Text ที่ไม่ได้แนบกับค่าที่กำหนด
getCompactFormat()Formatสร้างออบเจ็กต์ Format สำหรับเอาต์พุตเอกสาร XML แบบกะทัดรัด
getNamespace(uri)Namespaceสร้าง Namespace ด้วย URI ที่กำหนด
getNamespace(prefix, uri)Namespaceสร้าง Namespace ที่มีคำนำหน้าและ URI ที่กำหนด
getNoNamespace()Namespaceสร้าง Namespace ที่แทนเนมสเปซจริง
getPrettyFormat()Formatสร้างออบเจ็กต์ Format สำหรับเอาต์พุตเอกสาร XML ที่มนุษย์อ่านได้
getRawFormat()Formatสร้างออบเจ็กต์ Format สำหรับเอาต์พุตเอกสาร XML แบบ Raw
getXmlNamespace()Namespaceสร้าง Namespace ที่มีคำนำหน้า xml มาตรฐาน
parse(xml)Documentสร้าง Document จาก XML ที่ระบุโดยไม่ต้องตรวจสอบความถูกต้องของ XML

เอกสารโดยละเอียด

createCdata(text)

สร้างโหนด CDATASection ที่ไม่ได้แนบกับค่าที่กำหนด

พารามิเตอร์

ชื่อประเภทคำอธิบาย
textStringค่าที่ต้องกำหนด

รีเทิร์น

Cdata — โหนด CDATASection ที่สร้างขึ้นใหม่


createComment(text)

สร้างโหนด Comment ที่ไม่ได้แนบกับค่าที่กำหนด

พารามิเตอร์

ชื่อประเภทคำอธิบาย
textStringค่าที่ต้องกำหนด

รีเทิร์น

Comment — โหนด Comment ที่สร้างขึ้นใหม่


createDocType(elementName)

สร้างโหนด DocumentType ที่ไม่ได้แนบสำหรับโหนดราก Element ด้วยชื่อที่ตั้งไว้

พารามิเตอร์

ชื่อประเภทคำอธิบาย
elementNameStringชื่อของโหนด Element รากที่จะระบุใน DocType การประกาศ

รีเทิร์น

DocType — โหนด DocumentType ที่สร้างขึ้นใหม่


createDocType(elementName, systemId)

สร้างโหนด DocumentType ที่ไม่ได้แนบสำหรับโหนดราก Element และรหัสระบบที่กำหนดสำหรับข้อมูลย่อยภายนอก

พารามิเตอร์

ชื่อประเภทคำอธิบาย
elementNameStringชื่อของโหนด Element รากที่จะระบุใน DocType การประกาศ
systemIdStringรหัสระบบของข้อมูลชุดย่อยภายนอกที่จะตั้งค่า

รีเทิร์น

DocType — โหนด DocumentType ที่สร้างขึ้นใหม่


createDocType(elementName, publicId, systemId)

สร้างโหนด DocumentType ที่ไม่ได้แนบสำหรับโหนดราก Element ที่มีชื่อเฉพาะ รวมถึงรหัสสาธารณะและรหัสระบบสำหรับข้อมูลย่อยภายนอก

พารามิเตอร์

ชื่อประเภทคำอธิบาย
elementNameStringชื่อของโหนด Element รากที่จะระบุใน DocType การประกาศ
publicIdStringรหัสสาธารณะของข้อมูลชุดย่อยภายนอกที่จะตั้งค่า
systemIdStringรหัสระบบของข้อมูลชุดย่อยภายนอกที่จะตั้งค่า

รีเทิร์น

DocType — โหนด DocumentType ที่สร้างขึ้นใหม่


createDocument()

สร้างเอกสาร XML ที่ว่างเปล่า

รีเทิร์น

Document — เอกสารที่สร้างใหม่


createDocument(rootElement)

สร้างเอกสาร XML ที่มีโหนดรูท Element ที่ระบุ

พารามิเตอร์

ชื่อประเภทคำอธิบาย
rootElementElementรูท Element โหนดที่จะตั้งค่า

รีเทิร์น

Document — เอกสารที่สร้างใหม่


createElement(name)

สร้างโหนด Element ที่ไม่ได้แนบที่มีชื่อในเครื่องที่ระบุและไม่มีเนมสเปซ

พารามิเตอร์

ชื่อประเภทคำอธิบาย
nameStringชื่อท้องถิ่นที่จะตั้ง

รีเทิร์น

Element — โหนด Element ที่สร้างขึ้นใหม่


createElement(name, namespace)

สร้างโหนด Element ที่ไม่ได้แนบที่มีชื่อในเครื่องและเนมสเปซที่ระบุ

พารามิเตอร์

ชื่อประเภทคำอธิบาย
nameStringชื่อท้องถิ่นที่จะตั้ง
namespaceNamespaceเนมสเปซที่จะตั้งค่า

รีเทิร์น

Element — โหนด Element ที่สร้างขึ้นใหม่


createText(text)

สร้างโหนด Text ที่ไม่ได้แนบกับค่าที่กำหนด

พารามิเตอร์

ชื่อประเภทคำอธิบาย
textStringค่าที่ต้องกำหนด

รีเทิร์น

Text — โหนด Text ที่สร้างขึ้นใหม่


getCompactFormat()

สร้างออบเจ็กต์ Format สำหรับเอาต์พุตเอกสาร XML แบบกะทัดรัด เครื่องมือจัดรูปแบบ มีค่าเริ่มต้นเป็นการเข้ารหัส UTF-8 ไม่มีการเยื้อง และไม่มีตัวแบ่งบรรทัดเพิ่มเติม แต่รวม การประกาศ XML และการเข้ารหัส

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

รีเทิร์น

Format — เครื่องมือจัดรูปแบบที่สร้างขึ้นใหม่


getNamespace(uri)

สร้าง Namespace ด้วย URI ที่กำหนด

พารามิเตอร์

ชื่อประเภทคำอธิบาย
uriStringURI สำหรับเนมสเปซ

รีเทิร์น

Namespace — เนมสเปซที่สร้างขึ้นใหม่


getNamespace(prefix, uri)

สร้าง Namespace ที่มีคำนำหน้าและ URI ที่กำหนด

พารามิเตอร์

ชื่อประเภทคำอธิบาย
prefixStringคำนำหน้าสำหรับเนมสเปซ
uriStringURI สำหรับเนมสเปซ

รีเทิร์น

Namespace — เนมสเปซที่สร้างขึ้นใหม่


getNoNamespace()

สร้าง Namespace ที่แทนเนมสเปซจริง

รีเทิร์น

Namespace — เนมสเปซที่สร้างขึ้นใหม่


getPrettyFormat()

สร้างออบเจ็กต์ Format สำหรับเอาต์พุตเอกสาร XML ที่มนุษย์อ่านได้ เครื่องมือจัดรูปแบบ มีค่าเริ่มต้นเป็นการเข้ารหัส UTF-8 การเยื้องสองช่องว่าง ตัวคั่นบรรทัดหลัง \r\n รายการ ทุกโหนด และรวมการประกาศ XML และการเข้ารหัสของโหนดดังกล่าว

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

รีเทิร์น

Format — เครื่องมือจัดรูปแบบที่สร้างขึ้นใหม่


getRawFormat()

สร้างออบเจ็กต์ Format สำหรับเอาต์พุตเอกสาร XML แบบ Raw ค่าเริ่มต้นของตัวจัดรูปแบบเป็น เข้ารหัส UTF-8 ไม่มีการเยื้อง และไม่มีการแบ่งบรรทัดนอกเหนือจากที่ระบุไว้ใน XML แยกต่างหาก รวมทั้งการประกาศ XML และการเข้ารหัส

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

รีเทิร์น

Format — เครื่องมือจัดรูปแบบที่สร้างขึ้นใหม่


getXmlNamespace()

สร้าง Namespace ที่มีคำนำหน้า xml มาตรฐาน

รีเทิร์น

Namespace — เนมสเปซที่สร้างขึ้นใหม่


parse(xml)

สร้าง Document จาก XML ที่ระบุโดยไม่ต้องตรวจสอบความถูกต้องของ XML

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

พารามิเตอร์

ชื่อประเภทคำอธิบาย
xmlStringXML ที่จะแยกวิเคราะห์

รีเทิร์น

Document — เอกสารที่สร้างใหม่