XML Service

บริการ XML

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

// Log the title and labels for the first page of blog posts on
// Google's The Keyword blog.
function parseXml() {
  let url = 'https://blog.google/rss/';
  let xml = UrlFetchApp.fetch(url).getContentText();
  let document = XmlService.parse(xml);
  let root = document.getRootElement();

  let channel = root.getChild('channel');
  let items = channel.getChildren('item');
  items.forEach(item => {
    let title = item.getChild('title').getText();
    let categories = item.getChildren('category');
    let labels = categories.map(category => category.getText());
    console.log('%s (%s)', title, labels.join(', '));
  });
}

// Create and log an XML representation of first 10 threads in your Gmail inbox.
function createXml() {
  let root = XmlService.createElement('threads');
  let threads = GmailApp.getInboxThreads()
  threads = threads.slice(0,10); // Just the first 10
  threads.forEach(thread => {
    let child = XmlService.createElement('thread')
        .setAttribute('messageCount', thread.getMessageCount())
        .setAttribute('isUnread', thread.isUnread())
        .setText(thread.getFirstMessageSubject());
    root.addContent(child);
  });
  let document = XmlService.createDocument(root);
  let xml = XmlService.getPrettyFormat().format(document);
  console.log(xml);
}

ชั้นเรียน

ชื่อรายละเอียดแบบย่อ
Attributeการนำเสนอแอตทริบิวต์ XML
Cdataการแสดงโหนด XML CDATASection
Commentการแสดงโหนด XML Comment
Contentการแสดงโหนด XML ทั่วไป
ContentTypeการแจกแจงที่แสดงถึงประเภทของโหนดเนื้อหา XML
DocTypeการแสดงโหนด XML DocumentType
Documentการนำเสนอเอกสาร XML
Elementการแสดงโหนด XML Element
EntityRefการแสดงโหนด XML EntityReference
Formatตัวจัดรูปแบบสำหรับการแสดงเอกสาร XML โดยมีรูปแบบที่กำหนดไว้ล่วงหน้าสามรูปแบบ ซึ่งสามารถขยาย แบบกำหนดเอง
Namespaceการแสดงเนมสเปซ XML
ProcessingInstructionการแสดงโหนด XML ProcessingInstruction
Textการแสดงโหนด XML Text
XmlServiceบริการนี้อนุญาตให้สคริปต์แยกวิเคราะห์ ไปยังส่วนต่างๆ และสร้างเอกสาร XML แบบเป็นโปรแกรมได้

Attribute

เมธอด

วิธีการประเภทการแสดงผลรายละเอียดแบบย่อ
getName()Stringรับชื่อท้องถิ่นของแอตทริบิวต์
getNamespace()Namespaceรับเนมสเปซสำหรับแอตทริบิวต์
getValue()Stringรับค่าของแอตทริบิวต์
setName(name)Attributeตั้งชื่อภายในของแอตทริบิวต์
setNamespace(namespace)Attributeตั้งค่าเนมสเปซสำหรับแอตทริบิวต์
setValue(value)Attributeตั้งค่าของแอตทริบิวต์

Cdata

เมธอด

วิธีการประเภทการแสดงผลรายละเอียดแบบย่อ
append(text)Textเพิ่มข้อความต่อท้ายเนื้อหาที่มีอยู่แล้วในโหนด
detach()Contentปลดโหนดออกจากโหนด Element ระดับบนสุด
getParentElement()Elementรับโหนดหลักของโหนด Element
getText()Stringดึงค่าข้อความของโหนด Text
getValue()Stringดึงค่าข้อความของโหนดทั้งหมดที่เป็นโหนดย่อยโดยตรงหรือโดยอ้อมของโหนดตามลำดับ ปรากฏในเอกสาร
setText(text)Textตั้งค่าข้อความของโหนด Text

Comment

เมธอด

วิธีการประเภทการแสดงผลรายละเอียดแบบย่อ
detach()Contentปลดโหนดออกจากโหนด Element ระดับบนสุด
getParentElement()Elementรับโหนดหลักของโหนด Element
getText()Stringดึงค่าข้อความของโหนด Comment
getValue()Stringดึงค่าข้อความของโหนดทั้งหมดที่เป็นโหนดย่อยโดยตรงหรือโดยอ้อมของโหนดตามลำดับ ปรากฏในเอกสาร
setText(text)Commentตั้งค่าข้อความของโหนด Comment

Content

เมธอด

วิธีการประเภทการแสดงผลรายละเอียดแบบย่อ
asCdata()Cdataแคสต์โหนดเป็นโหนด CDATASection เพื่อเติมข้อความอัตโนมัติ
asComment()Commentแคสต์โหนดเป็นโหนด Comment เพื่อเติมข้อความอัตโนมัติ
asDocType()DocTypeแคสต์โหนดเป็นโหนด DocumentType เพื่อเติมข้อความอัตโนมัติ
asElement()Elementแคสต์โหนดเป็นโหนด Element เพื่อเติมข้อความอัตโนมัติ
asEntityRef()EntityRefแคสต์โหนดเป็นโหนด EntityReference เพื่อเติมข้อความอัตโนมัติ
asProcessingInstruction()ProcessingInstructionแคสต์โหนดเป็นโหนด ProcessingInstruction เพื่อเติมข้อความอัตโนมัติ
asText()Textแคสต์โหนดเป็นโหนด Text เพื่อเติมข้อความอัตโนมัติ
detach()Contentปลดโหนดออกจากโหนด Element ระดับบนสุด
getParentElement()Elementรับโหนดหลักของโหนด Element
getType()ContentTypeรับประเภทเนื้อหาของโหนด
getValue()Stringดึงค่าข้อความของโหนดทั้งหมดที่เป็นโหนดย่อยโดยตรงหรือโดยอ้อมของโหนดตามลำดับ ปรากฏในเอกสาร

ContentType

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

พร็อพเพอร์ตี้ประเภทคำอธิบาย
CDATAEnumโหนด XML CDATASection
COMMENTEnumโหนด XML Comment
DOCTYPEEnumโหนด XML DocumentType
ELEMENTEnumโหนด XML Element
ENTITYREFEnumโหนด XML EntityReference
PROCESSINGINSTRUCTIONEnumโหนด XML ProcessingInstruction
TEXTEnumโหนด XML Text

DocType

เมธอด

วิธีการประเภทการแสดงผลรายละเอียดแบบย่อ
detach()Contentปลดโหนดออกจากโหนด Element ระดับบนสุด
getElementName()Stringดึงชื่อของโหนด Element รูทที่ระบุไว้ในการประกาศ DocType
getInternalSubset()Stringรับข้อมูลย่อยภายในสำหรับโหนด DocumentType
getParentElement()Elementรับโหนดหลักของโหนด Element
getPublicId()Stringรับรหัสสาธารณะของข้อมูลชุดย่อยภายนอกสำหรับโหนด DocumentType
getSystemId()Stringรับรหัสระบบของข้อมูลชุดย่อยภายนอกสำหรับโหนด DocumentType
getValue()Stringดึงค่าข้อความของโหนดทั้งหมดที่เป็นโหนดย่อยโดยตรงหรือโดยอ้อมของโหนดตามลำดับ ปรากฏในเอกสาร
setElementName(name)DocTypeตั้งชื่อของโหนด Element รากเพื่อระบุใน DocType ประกาศ
setInternalSubset(data)DocTypeตั้งค่าข้อมูลย่อยภายในสำหรับโหนด DocumentType
setPublicId(id)DocTypeตั้งค่ารหัสสาธารณะของข้อมูลชุดย่อยภายนอกสำหรับโหนด DocumentType
setSystemId(id)DocTypeตั้งค่ารหัสระบบของข้อมูลชุดย่อยภายนอกสำหรับโหนด DocumentType

Document

เมธอด

วิธีการประเภทการแสดงผลรายละเอียดแบบย่อ
addContent(content)Documentเพิ่มโหนดที่ระบุต่อท้ายเอกสาร
addContent(index, content)Documentแทรกโหนดที่ระบุที่ดัชนีที่ระบุระหว่างโหนดทั้งหมดที่เป็นโหนดย่อยของ เอกสาร
cloneContent()Content[]สร้างสำเนาที่ไม่ได้แนบกับโหนดทั้งหมดที่เป็นรายการย่อยทันทีของเอกสาร
detachRootElement()Elementปลดและแสดงผลโหนด Element รากของเอกสาร
getAllContent()Content[]รับโหนดทั้งหมดที่เป็นโหนดย่อยทันทีของเอกสาร
getContent(index)Contentรับโหนดที่ดัชนีที่ระบุจากโหนดทั้งหมดที่เป็นโหนดย่อยของ เอกสาร
getContentSize()Integerรับจำนวนโหนดที่เป็นรายการย่อยทันทีของเอกสาร
getDescendants()Content[]รับโหนดทั้งหมดที่เป็นโหนดย่อยโดยตรงหรือโดยอ้อมของเอกสารตามลำดับ ปรากฏในเอกสาร
getDocType()DocTypeรับการประกาศDocTypeของเอกสาร
getRootElement()Elementรับโหนดราก Element ของเอกสาร
hasRootElement()Booleanกำหนดว่าเอกสารมีโหนด Element รากหรือไม่
removeContent()Content[]นำโหนดทั้งหมดที่เป็นรายการย่อยทันทีของเอกสารออก
removeContent(content)Booleanนำโหนดที่ระบุออก ถ้าโหนดเป็นโหนดย่อยทันทีของเอกสาร
removeContent(index)Contentลบโหนดที่ดัชนีที่ระบุออกจากโหนดทั้งหมดที่เป็นโหนดย่อยของ เอกสาร
setDocType(docType)Documentตั้งค่าการประกาศDocTypeของเอกสาร
setRootElement(element)Documentตั้งค่าโหนดราก Element ของเอกสาร

Element

เมธอด

วิธีการประเภทการแสดงผลรายละเอียดแบบย่อ
addContent(content)Elementเพิ่มโหนดที่ระบุเป็นโหนดย่อยสุดท้ายของโหนด Element
addContent(index, content)Elementแทรกโหนดที่ระบุที่ดัชนีที่ระบุระหว่างโหนดทั้งหมดที่เป็นโหนดย่อยของ Element โหนด
cloneContent()Content[]สร้างสำเนาที่ไม่ได้แนบกับโหนดทั้งหมดที่เป็นโหนดย่อยของโหนด {@code Element}
detach()Contentปลดโหนดออกจากโหนด Element ระดับบนสุด
getAllContent()Content[]รับโหนดทั้งหมดที่เป็นโหนดย่อยของโหนด {@code Element}
getAttribute(name)Attributeรับแอตทริบิวต์ของโหนด Element นี้ที่มีชื่อที่ระบุและไม่มีเนมสเปซ
getAttribute(name, namespace)Attributeรับแอตทริบิวต์ของโหนด Element นี้ที่มีชื่อและเนมสเปซที่ระบุ
getAttributes()Attribute[]รับแอตทริบิวต์ทั้งหมดของโหนด Element นี้ตามลำดับที่ปรากฏในเอกสาร
getChild(name)Elementรับโหนด Element แรกที่มีชื่อตามที่ระบุ และไม่มีเนมสเปซที่เป็นรายการโดยทันที ย่อยของโหนด Element นี้
getChild(name, namespace)Elementรับโหนด Element แรกที่มีชื่อและเนมสเปซที่ระบุทันที ย่อยของโหนด Element นี้
getChildText(name)Stringรับค่าข้อความของโหนดที่มีชื่อที่ระบุและไม่มีเนมสเปซ ถ้าโหนดเป็นโหนด ย่อยของโหนด Element
getChildText(name, namespace)Stringรับค่าข้อความของโหนดที่มีชื่อและเนมสเปซที่ระบุ หากโหนดเป็นโหนดทันที ลูกของโหนด Element
getChildren()Element[]รับโหนด Element ทั้งหมดที่เป็นโหนดย่อยโดยตรงของโหนด Element นี้ ใน ลำดับที่ปรากฏในเอกสาร
getChildren(name)Element[]รับโหนด Element ทั้งหมดที่มีชื่อที่ระบุ และไม่มีเนมสเปซที่เป็นย่อยทันที ของโหนด Element นี้ตามลำดับที่ปรากฏในเอกสาร
getChildren(name, namespace)Element[]รับโหนด Element ทั้งหมดที่มีชื่อและเนมสเปซที่ระบุซึ่งเป็นรายการย่อยของ โหนด Element นี้ตามลำดับที่ปรากฏในเอกสาร
getContent(index)Contentรับโหนดที่ดัชนีที่ระบุจากโหนดทั้งหมดที่เป็นโหนดย่อยของ โหนด {@code Element}
getContentSize()Integerรับจำนวนโหนดที่เป็นโหนดย่อยของโหนด {@code Element}
getDescendants()Content[]รับโหนดทั้งหมดที่เป็นโหนดย่อยโดยตรงหรือโดยอ้อมของโหนด {@code Element} ตามลำดับ ปรากฏในเอกสาร
getDocument()Documentรับเอกสาร XML ที่มีโหนด {@code Element}
getName()Stringรับชื่อในเครื่องของโหนด Element
getNamespace()Namespaceรับเนมสเปซสำหรับโหนด Element
getNamespace(prefix)Namespaceรับเนมสเปซที่มีคำนำหน้าที่ระบุสำหรับโหนด Element
getParentElement()Elementรับโหนดหลักของโหนด Element
getQualifiedName()Stringรับชื่อในเครื่องและคำนำหน้าเนมสเปซของโหนด Element ในรูปแบบ [namespacePrefix]:[localName]
getText()Stringดึงค่าข้อความของโหนด Element
getValue()Stringดึงค่าข้อความของโหนดทั้งหมดที่เป็นโหนดย่อยโดยตรงหรือโดยอ้อมของโหนดตามลำดับ ปรากฏในเอกสาร
isAncestorOf(other)Booleanกำหนดว่าโหนด Element นี้เป็นโหนดหลักโดยตรงหรือโดยอ้อมของโหนด Element ที่ระบุ
isRootElement()Booleanกำหนดว่าโหนด Element เป็นโหนดรากของเอกสารหรือไม่
removeAttribute(attribute)Booleanนำแอตทริบิวต์ที่ระบุสำหรับโหนด Element นี้ออก หากมีแอตทริบิวต์ดังกล่าว
removeAttribute(attributeName)Booleanนำแอตทริบิวต์ของโหนด Element ที่มีชื่อที่ระบุออกและไม่มีเนมสเปซ แอตทริบิวต์ดังกล่าวมีอยู่
removeAttribute(attributeName, namespace)Booleanนำแอตทริบิวต์ของโหนด Element ที่มีชื่อและเนมสเปซที่ระบุออก หากมี มีแอตทริบิวต์อยู่
removeContent()Content[]นำโหนดทั้งหมดที่เป็นโหนดย่อยของโหนด {@code Element} ออก
removeContent(content)Booleanนำโหนดที่ระบุออก ถ้าโหนดเป็นโหนดย่อยที่อยู่ทันทีของโหนด {@code Element}
removeContent(index)Contentลบโหนดที่ดัชนีที่ระบุออกจากโหนดทั้งหมดที่เป็นโหนดย่อยของ โหนด {@code Element}
setAttribute(attribute)Elementตั้งค่าแอตทริบิวต์ที่ระบุสำหรับโหนด Element นี้
setAttribute(name, value)Elementตั้งค่าแอตทริบิวต์สำหรับโหนด Element นี้โดยใช้ชื่อ ค่า และไม่มีเนมสเปซ
setAttribute(name, value, namespace)Elementตั้งค่าแอตทริบิวต์สำหรับโหนด Element นี้โดยใช้ชื่อ ค่า และเนมสเปซที่ระบุ
setName(name)Elementตั้งชื่อภายในของโหนด Element
setNamespace(namespace)Elementตั้งค่าเนมสเปซสำหรับโหนด Element
setText(text)Elementตั้งค่าข้อความของโหนด Element

EntityRef

เมธอด

วิธีการประเภทการแสดงผลรายละเอียดแบบย่อ
detach()Contentปลดโหนดออกจากโหนด Element ระดับบนสุด
getName()Stringดึงชื่อของโหนด EntityReference
getParentElement()Elementรับโหนดหลักของโหนด Element
getPublicId()Stringรับรหัสสาธารณะของโหนด EntityReference
getSystemId()Stringรับรหัสระบบของโหนด EntityReference
getValue()Stringดึงค่าข้อความของโหนดทั้งหมดที่เป็นโหนดย่อยโดยตรงหรือโดยอ้อมของโหนดตามลำดับ ปรากฏในเอกสาร
setName(name)EntityRefตั้งชื่อโหนด EntityReference
setPublicId(id)EntityRefตั้งค่ารหัสสาธารณะของโหนด EntityReference
setSystemId(id)EntityRefตั้งค่ารหัสระบบของโหนด EntityReference

Format

เมธอด

วิธีการประเภทการแสดงผลรายละเอียดแบบย่อ
format(document)Stringแสดงผล Document ที่ระบุเป็นสตริงที่มีการจัดรูปแบบ
format(element)Stringแสดงผลโหนด Element ที่ระบุเป็นสตริงที่มีการจัดรูปแบบ
setEncoding(encoding)Formatตั้งค่าการเข้ารหัสอักขระที่ตัวจัดรูปแบบควรใช้
setIndent(indent)Formatตั้งค่าสตริงที่ใช้เพื่อเยื้องโหนดย่อยที่เกี่ยวข้องกับโหนดระดับบนสุด
setLineSeparator(separator)Formatตั้งค่าสตริงให้แทรกเมื่อโดยปกติแล้วตัวจัดรูปแบบจะแทรกตัวแบ่งบรรทัด
setOmitDeclaration(omitDeclaration)Formatตั้งค่าว่าตัวจัดรูปแบบควรละเว้นการประกาศ XML เช่น <?xml version="1.0" encoding="UTF-8"?> หรือไม่
setOmitEncoding(omitEncoding)Formatตั้งค่าว่าตัวจัดรูปแบบควรละเว้นการเข้ารหัสในการประกาศ XML หรือไม่ เช่น ฟิลด์การเข้ารหัสใน <?xml version="1.0" encoding="UTF-8"?>

Namespace

เมธอด

วิธีการประเภทการแสดงผลรายละเอียดแบบย่อ
getPrefix()Stringรับคำนำหน้าสำหรับเนมสเปซ
getURI()Stringรับ URI สำหรับเนมสเปซ

ProcessingInstruction

เมธอด

วิธีการประเภทการแสดงผลรายละเอียดแบบย่อ
detach()Contentปลดโหนดออกจากโหนด Element ระดับบนสุด
getData()Stringรับข้อมูลดิบสำหรับทุกคำสั่งในโหนด ProcessingInstruction
getParentElement()Elementรับโหนดหลักของโหนด Element
getTarget()Stringรับเป้าหมายสำหรับโหนด ProcessingInstruction
getValue()Stringดึงค่าข้อความของโหนดทั้งหมดที่เป็นโหนดย่อยโดยตรงหรือโดยอ้อมของโหนดตามลำดับ ปรากฏในเอกสาร

Text

เมธอด

วิธีการประเภทการแสดงผลรายละเอียดแบบย่อ
append(text)Textเพิ่มข้อความต่อท้ายเนื้อหาที่มีอยู่แล้วในโหนด
detach()Contentปลดโหนดออกจากโหนด Element ระดับบนสุด
getParentElement()Elementรับโหนดหลักของโหนด Element
getText()Stringดึงค่าข้อความของโหนด Text
getValue()Stringดึงค่าข้อความของโหนดทั้งหมดที่เป็นโหนดย่อยโดยตรงหรือโดยอ้อมของโหนดตามลำดับ ปรากฏในเอกสาร
setText(text)Textตั้งค่าข้อความของโหนด Text

XmlService

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

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