Class XmlService

XmlService

บริการนี้ช่วยให้สคริปต์แยกวิเคราะห์ ไปยังส่วนต่างๆ และสร้างเอกสาร XML แบบเป็นโปรแกรมได้

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

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

พร็อพเพอร์ตี้ประเภทคำอธิบาย
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. 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);

รีเทิร์น

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 และการเข้ารหัสของ XML

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

รีเทิร์น

Format — ตัวจัดรูปแบบที่สร้างใหม่


getRawFormat()

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

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

รีเทิร์น

Format — ตัวจัดรูปแบบที่สร้างใหม่


getXmlNamespace()

สร้าง Namespace ด้วยคำนำหน้า xml มาตรฐาน

รีเทิร์น

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


parse(xml)

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

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

พารามิเตอร์

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

รีเทิร์น

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