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|nullรับเนมสเปซของแอตทริบิวต์
getValue()Stringรับค่าของแอตทริบิวต์
setName(name)Attributeตั้งค่าชื่อแอตทริบิวต์ในเครื่อง
setNamespace(namespace)Attributeตั้งค่าเนมสเปซสำหรับแอตทริบิวต์
setValue(value)Attributeตั้งค่าแอตทริบิวต์

Cdata

เมธอด

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

Comment

เมธอด

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

Content

เมธอด

วิธีการประเภทการแสดงผลรายละเอียดแบบย่อ
asCdata()Cdata|nullส่งผ่านโหนดเป็นโหนด CDATASection เพื่อวัตถุประสงค์ในการเติมข้อความอัตโนมัติ
asComment()Comment|nullส่งผ่านโหนดเป็นโหนด Comment เพื่อวัตถุประสงค์ในการเติมข้อความอัตโนมัติ
asDocType()DocType|nullส่งผ่านโหนดเป็นโหนด DocumentType เพื่อวัตถุประสงค์ในการเติมข้อความอัตโนมัติ
asElement()Element|nullส่งผ่านโหนดเป็นโหนด Element เพื่อวัตถุประสงค์ในการเติมข้อความอัตโนมัติ
asEntityRef()EntityRef|nullส่งผ่านโหนดเป็นโหนด EntityReference เพื่อวัตถุประสงค์ในการเติมข้อความอัตโนมัติ
asProcessingInstruction()ProcessingInstruction|nullส่งผ่านโหนดเป็นโหนด ProcessingInstruction เพื่อวัตถุประสงค์ในการเติมข้อความอัตโนมัติ
asText()Text|nullส่งผ่านโหนดเป็นโหนด Text เพื่อวัตถุประสงค์ในการเติมข้อความอัตโนมัติ
detach()Content|nullยกเลิกการเชื่อมต่อโหนดจากโหนดระดับบนสุด Element
getParentElement()Element|nullรับโหนดแม่ของโหนด 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|nullยกเลิกการเชื่อมต่อโหนดจากโหนดระดับบนสุด Element
getElementName()Stringรับชื่อของโหนดรูท Element ที่ระบุในการประกาศ DocType
getInternalSubset()Stringรับข้อมูลเซ็ตย่อยภายในสำหรับโหนด DocumentType
getParentElement()Element|nullรับโหนดแม่ของโหนด 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|nullยกเลิกการเชื่อมต่อและแสดงผลโหนดรูท Element ของเอกสาร
getAllContent()Content[]รับโหนดทั้งหมดที่เป็นโหนดย่อยโดยตรงของเอกสาร
getContent(index)Content|nullรับโหนดที่ดัชนีที่ระบุในบรรดาโหนดทั้งหมดที่เป็นโหนดลูกของเอกสารโดยตรง
getContentSize()Integerรับจำนวนโหนดที่เป็นองค์ประกอบย่อยโดยตรงของเอกสาร
getDescendants()Content[]รับโหนดทั้งหมดที่เป็นโหนดย่อยโดยตรงหรือโดยอ้อมของเอกสาร ตามลำดับที่ปรากฏในเอกสาร
getDocType()DocType|nullรับDocTypeประกาศของเอกสาร
getRootElement()Element|nullรับโหนดรูท Element ของเอกสาร
hasRootElement()Booleanกำหนดว่าเอกสารมีโหนดรูท Element หรือไม่
removeContent()Content[]นำโหนดทั้งหมดที่เป็นองค์ประกอบย่อยโดยตรงของเอกสารออก
removeContent(content)Booleanนำโหนดที่ระบุออก หากโหนดเป็นโหนดลูกโดยตรงของเอกสาร
removeContent(index)Content|nullนำโหนดที่ดัชนีที่ระบุออกจากโหนดทั้งหมดที่เป็นองค์ประกอบย่อยโดยตรงของ เอกสาร
setDocType(docType)Documentตั้งค่าประกาศ DocType ของเอกสาร
setRootElement(element)Documentตั้งค่าโหนดราก Element ของเอกสาร

Element

เมธอด

วิธีการประเภทการแสดงผลรายละเอียดแบบย่อ
addContent(content)Elementผนวกโหนดที่ระบุเป็นโหนดสุดท้ายของโหนด Element
addContent(index, content)Elementแทรกโหนดที่ระบุที่ดัชนีที่ระบุในบรรดาโหนดทั้งหมดที่เป็นโหนดย่อยโดยตรงของโหนด Element
cloneContent()Content[]สร้างสำเนาที่ไม่ได้แนบของโหนดทั้งหมดที่เป็นโหนดย่อยโดยตรงของโหนด {@code Element}
detach()Content|nullยกเลิกการเชื่อมต่อโหนดจากโหนดระดับบนสุด Element
getAllContent()Content[]รับโหนดทั้งหมดที่เป็นโหนดย่อยโดยตรงของโหนด {@code Element}
getAttribute(name)Attribute|nullรับแอตทริบิวต์สำหรับโหนด Element นี้ที่มีชื่อที่ระบุและไม่มีเนมสเปซ
getAttribute(name, namespace)Attribute|nullรับแอตทริบิวต์สำหรับโหนด Element นี้ที่มีชื่อและเนมสเปซที่ระบุ
getAttributes()Attribute[]รับแอตทริบิวต์ทั้งหมดสำหรับโหนด Element นี้ตามลำดับที่ปรากฏในเอกสาร
getChild(name)Element|nullรับElementโหนดแรกที่มีชื่อที่ระบุและไม่มีเนมสเปซซึ่งเป็นองค์ประกอบย่อย โดยตรงของElementโหนดนี้
getChild(name, namespace)Element|nullรับโหนด Element แรกที่มีชื่อและเนมสเปซที่ระบุซึ่งเป็นบุตรElement ของโหนดนี้
getChildText(name)String|nullรับค่าข้อความของโหนดที่มีชื่อที่ระบุและไม่มีเนมสเปซ หากโหนดเป็น โหนดลูกโดยตรงของโหนด Element
getChildText(name, namespace)String|nullรับค่าข้อความของโหนดที่มีชื่อและเนมสเปซที่ระบุ หากโหนดเป็นองค์ประกอบย่อยโดยตรงของโหนด Element
getChildren()Element[]รับโหนด Element ทั้งหมดที่เป็นโหนดลูกของโหนด Element นี้ใน ลำดับที่ปรากฏในเอกสาร
getChildren(name)Element[]รับโหนด Element ทั้งหมดที่มีชื่อที่ระบุและไม่มีเนมสเปซซึ่งเป็นองค์ประกอบย่อยโดยตรง ของโหนด Element นี้ตามลำดับที่ปรากฏในเอกสาร
getChildren(name, namespace)Element[]รับโหนด Element ทั้งหมดที่มีชื่อและเนมสเปซที่ระบุซึ่งเป็นโหนดย่อยโดยตรงของ โหนด Element นี้ ตามลำดับที่ปรากฏในเอกสาร
getContent(index)Content|nullรับโหนดที่ดัชนีที่ระบุในบรรดาโหนดทั้งหมดที่เป็นโหนดย่อยโดยตรงของโหนด {@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|nullรับโหนดแม่ของโหนด 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|nullนำโหนดที่ดัชนีที่ระบุออกจากโหนดทั้งหมดที่เป็นโหนดลูกโดยตรงของโหนด {@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|nullยกเลิกการเชื่อมต่อโหนดจากโหนดระดับบนสุด Element
getName()Stringรับชื่อของโหนด EntityReference
getParentElement()Element|nullรับโหนดแม่ของโหนด Element
getPublicId()String|nullรับรหัสสาธารณะของโหนด EntityReference
getSystemId()String|nullรับรหัสระบบของโหนด 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|nullยกเลิกการเชื่อมต่อโหนดจากโหนดระดับบนสุด Element
getData()Stringรับข้อมูลดิบสำหรับทุกคำสั่งในโหนด ProcessingInstruction
getParentElement()Element|nullรับโหนดแม่ของโหนด Element
getTarget()Stringรับเป้าหมายสำหรับโหนด ProcessingInstruction
getValue()Stringรับค่าข้อความของโหนดทั้งหมดที่เป็นโหนดลูกโดยตรงหรือโดยอ้อมของโหนด ตามลำดับ ที่ปรากฏในเอกสาร

Text

เมธอด

วิธีการประเภทการแสดงผลรายละเอียดแบบย่อ
append(text)Textผนวกข้อความที่ระบุกับเนื้อหาที่มีอยู่ในโหนดอยู่แล้ว
detach()Content|nullยกเลิกการเชื่อมต่อโหนดจากโหนดระดับบนสุด Element
getParentElement()Element|nullรับโหนดแม่ของโหนด 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