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

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

พร็อพเพอร์ตี้Typeคำอธิบาย
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 ที่ไม่มีไฟล์แนบด้วยค่าที่กำหนด

พารามิเตอร์

ชื่อTypeคำอธิบาย
textStringค่าที่จะตั้ง

รีเทิร์น

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


createComment(text)

สร้างโหนด Comment ที่ไม่มีไฟล์แนบด้วยค่าที่กำหนด

พารามิเตอร์

ชื่อTypeคำอธิบาย
textStringค่าที่จะตั้ง

รีเทิร์น

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


createDocType(elementName)

สร้างโหนด DocumentType ที่ไม่มีไฟล์แนบสำหรับโหนดรูท Element ที่มีชื่อที่กำหนด

พารามิเตอร์

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

รีเทิร์น

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


createDocType(elementName, systemId)

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

พารามิเตอร์

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

รีเทิร์น

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


createDocType(elementName, publicId, systemId)

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

พารามิเตอร์

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

รีเทิร์น

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


createDocument()

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

รีเทิร์น

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


createDocument(rootElement)

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

พารามิเตอร์

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

รีเทิร์น

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


createElement(name)

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

พารามิเตอร์

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

รีเทิร์น

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


createElement(name, namespace)

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

พารามิเตอร์

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

รีเทิร์น

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


createText(text)

สร้างโหนด Text ที่ไม่มีไฟล์แนบด้วยค่าที่กำหนด

พารามิเตอร์

ชื่อTypeคำอธิบาย
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 ที่กำหนด

พารามิเตอร์

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

รีเทิร์น

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


getNamespace(prefix, uri)

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

พารามิเตอร์

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

รีเทิร์น

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


getNoNamespace()

สร้าง Namespace ที่แสดงให้เห็นว่าไม่มีเนมสเปซจริง

รีเทิร์น

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


getPrettyFormat()

สร้างออบเจ็กต์ Format สำหรับแสดงเอกสาร XML ที่มนุษย์อ่านได้ ตัวจัดรูปแบบค่าเริ่มต้นคือการเข้ารหัส UTF-8, การเยื้อง 2 ช่อง, ตัวคั่นบรรทัด \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);

พารามิเตอร์

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

รีเทิร์น

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