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 โดยมีรูปแบบที่กำหนดไว้ล่วงหน้า 3 รูปแบบที่ปรับแต่งเพิ่มเติมได้
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โหนด CDATASection XML
COMMENTEnumโหนด Comment XML
DOCTYPEEnumโหนด DocumentType XML
ELEMENTEnumโหนด Element XML
ENTITYREFEnumโหนด EntityReference XML
PROCESSINGINSTRUCTIONEnumโหนด ProcessingInstruction XML
TEXTEnumโหนด Text XML

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 ดิบ
getXmlNamespace()Namespaceสร้าง Namespace ด้วยคำนำหน้า xml มาตรฐาน
parse(xml)Documentสร้าง Document จาก XML ที่ระบุโดยไม่ตรวจสอบ XML