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

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

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

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

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