Class XmlService

บริการ XML

บริการนี้ช่วยให้สคริปต์สามารถแยกวิเคราะห์ สํารวจ และสร้างเอกสาร 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 ดิบ
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 การเยื้องแบบ 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 ดิบ ตัวจัดรูปแบบมีค่าเริ่มต้นเป็นการเข้ารหัสแบบ 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 — เอกสารที่สร้างใหม่