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

クラス

名前概要
AttributeXML 属性の表現。
CdataXML CDATASection ノードの表現。
CommentXML Comment ノードの表現。
Content汎用 XML ノードの表現。
ContentTypeXML コンテンツ ノードのタイプを表す列挙型。
DocTypeXML DocumentType ノードの表現。
DocumentXML ドキュメントの表現。
ElementXML Element ノードの表現。
EntityRefXML EntityReference ノードの表現。
FormatXML ドキュメントを出力するためのフォーマッタ。事前定義された 3 つのフォーマットがあります。 カスタマイズします。
NamespaceXML 名前空間の表現。
ProcessingInstructionXML ProcessingInstruction ノードの表現。
TextXML 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()StringText ノードのテキスト値を取得します。
getValue()Stringノードの直接または間接の子であるすべてのノードのテキスト値を次の順序で取得します。 ドキュメントに表示されます。
setText(text)TextText ノードのテキスト値を設定します。

Comment

メソッド

メソッド戻り値の型概要
detach()Contentノードを親 Element ノードから切断します。
getParentElement()Elementノードの親 Element ノードを取得します。
getText()StringComment ノードのテキスト値を取得します。
getValue()Stringノードの直接または間接の子であるすべてのノードのテキスト値を次の順序で取得します。 ドキュメントに表示されます。
setText(text)CommentComment ノードのテキスト値を設定します。

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

プロパティ

プロパティタイプ説明
CDATAEnumXML CDATASection ノード。
COMMENTEnumXML Comment ノード。
DOCTYPEEnumXML DocumentType ノード。
ELEMENTEnumXML Element ノード。
ENTITYREFEnumXML EntityReference ノード。
PROCESSINGINSTRUCTIONEnumXML ProcessingInstruction ノード。
TEXTEnumXML Text ノード。

DocType

メソッド

メソッド戻り値の型概要
detach()Contentノードを親 Element ノードから切断します。
getElementName()StringDocType 宣言で指定されたルート Element ノードの名前を取得します。
getInternalSubset()StringDocumentType ノードの内部サブセット データを取得します。
getParentElement()Elementノードの親 Element ノードを取得します。
getPublicId()StringDocumentType ノードの外部サブセット データの公開 ID を取得します。
getSystemId()StringDocumentType ノードの外部サブセット データのシステム ID を取得します。
getValue()Stringノードの直接または間接の子であるすべてのノードのテキスト値を次の順序で取得します。 ドキュメントに表示されます。
setElementName(name)DocTypeDocType に指定するルート Element ノードの名前を設定します 宣言します。
setInternalSubset(data)DocTypeDocumentType ノードの内部サブセット データを設定します。
setPublicId(id)DocTypeDocumentType ノードの外部サブセット データの公開 ID を設定します。
setSystemId(id)DocTypeDocumentType ノードの外部サブセット データのシステム ID を設定します。

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指定の名前と Namespace を持つ最初の Element ノードを取得します。 この Element ノードの子ノード。
getChildText(name)String指定の名前で名前空間を持たないノードのテキスト値を取得します(ノードが Element ノードの直接の子。
getChildText(name, namespace)String指定の名前と名前空間を持つノードのテキスト値を取得します(ノードが即時ノードである場合)。 Element ノードの子ノード。
getChildren()Element[]この Element ノードの直接の子であるすべての Element ノードを取得します。 順序付けられます。
getChildren(name)Element[]指定された名前で、直接の子である名前空間を持たないすべての Element ノードを取得します この Element ノードのことを、ドキュメントでの表示順で指定します。
getChildren(name, namespace)Element[]指定の名前と Namespace の直接の子である Element ノードをすべて取得します。 この Element ノードを、ドキュメントでの出現順で並べ替えます。
getContent(index)Contentノードの直接の子ノードのうち、指定されたインデックスにあるノードを取得します。 {@code Element} ノード。
getContentSize()Integer{@code Element} ノードの直接の子であるノードの数を取得します。
getDescendants()Content[]{@code Element} ノードの直接的または間接的な子であるすべてのノードを、次の順序で取得します。 ドキュメントに表示されます。
getDocument()Document{@code Element} ノードを含む XML ドキュメントを取得します。
getName()StringElement ノードのローカル名を取得します。
getNamespace()NamespaceElement ノードの名前空間を取得します。
getNamespace(prefix)NamespaceElement ノードに指定された接頭辞を持つ名前空間を取得します。
getParentElement()Elementノードの親 Element ノードを取得します。
getQualifiedName()StringElement ノードのローカル名と名前空間の接頭辞を [namespacePrefix]:[localName] の形式で取得します。
getText()StringElement ノードのテキスト値を取得します。
getValue()Stringノードの直接または間接の子であるすべてのノードのテキスト値を次の順序で取得します。 ドキュメントに表示されます。
isAncestorOf(other)Booleanこの Element ノードが、指定された Element ノードの直接的親であるか、間接的な親であるかを決定します。
isRootElement()BooleanElement ノードがドキュメントのルートノードかどうかを判断します。
removeAttribute(attribute)Booleanこの Element ノードに指定された属性が存在する場合は、その属性を削除します。
removeAttribute(attributeName)Boolean指定された名前で名前空間を持たないこの Element ノードの属性を削除します。 存在する必要があります。
removeAttribute(attributeName, namespace)Boolean指定の名前と Namespace を持つこの 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)ElementElement ノードのローカル名を設定します。
setNamespace(namespace)ElementElement ノードの名前空間を設定します。
setText(text)ElementElement ノードのテキスト値を設定します。

EntityRef

メソッド

メソッド戻り値の型概要
detach()Contentノードを親 Element ノードから切断します。
getName()StringEntityReference ノードの名前を取得します。
getParentElement()Elementノードの親 Element ノードを取得します。
getPublicId()StringEntityReference ノードの公開 ID を取得します。
getSystemId()StringEntityReference ノードのシステム ID を取得します。
getValue()Stringノードの直接または間接の子であるすべてのノードのテキスト値を次の順序で取得します。 ドキュメントに表示されます。
setName(name)EntityRefEntityReference ノードの名前を設定します。
setPublicId(id)EntityRefEntityReference ノードの公開 ID を設定します。
setSystemId(id)EntityRefEntityReference ノードのシステム ID を設定します。

Format

メソッド

メソッド戻り値の型概要
format(document)String指定された Document をフォーマット済み文字列として出力します。
format(element)String指定された Element ノードをフォーマット済み文字列として出力します。
setEncoding(encoding)Formatフォーマッタで使用する文字エンコードを設定します。
setIndent(indent)Format子ノードを親に対して相対的にインデントするために使用される文字列を設定します。
setLineSeparator(separator)Formatフォーマッタによって通常改行が挿入されるたびに挿入する文字列を設定します。
setOmitDeclaration(omitDeclaration)Formatフォーマッタが <?xml version="1.0" encoding="UTF-8"?> などの XML 宣言を省略するかどうかを設定します。
setOmitEncoding(omitEncoding)Formatフォーマッタが XML 宣言のエンコード( <?xml version="1.0" encoding="UTF-8"?> のエンコード フィールド。

Namespace

メソッド

メソッド戻り値の型概要
getPrefix()String名前空間の接頭辞を取得します。
getURI()String名前空間の URI を取得します。

ProcessingInstruction

メソッド

メソッド戻り値の型概要
detach()Contentノードを親 Element ノードから切断します。
getData()StringProcessingInstruction ノード内のすべての命令の元データを取得します。
getParentElement()Elementノードの親 Element ノードを取得します。
getTarget()StringProcessingInstruction ノードのターゲットを取得します。
getValue()Stringノードの直接または間接の子であるすべてのノードのテキスト値を次の順序で取得します。 ドキュメントに表示されます。

Text

メソッド

メソッド戻り値の型概要
append(text)Text指定されたテキストをノード内にすでに存在するすべてのコンテンツに追加します。
detach()Contentノードを親 Element ノードから切断します。
getParentElement()Elementノードの親 Element ノードを取得します。
getText()StringText ノードのテキスト値を取得します。
getValue()Stringノードの直接または間接の子であるすべてのノードのテキスト値を次の順序で取得します。 ドキュメントに表示されます。
setText(text)TextText ノードのテキスト値を設定します。

XmlService

プロパティ

プロパティタイプ説明
ContentTypesContentTypeXML コンテンツ ノードのタイプを表す列挙型。

メソッド

メソッド戻り値の型概要
createCdata(text)Cdata指定された値で、接続されていない CDATASection ノードを作成します。
createComment(text)Comment指定された値で、接続されていない Comment ノードを作成します。
createDocType(elementName)DocTypeルート Element ノードに接続されていない DocumentType ノードを作成する 生成されます。
createDocType(elementName, systemId)DocTypeルート Element ノードに接続されていない DocumentType ノードを作成する 外部サブセット データの指定された名前、指定されたシステム ID で構成されます。
createDocType(elementName, publicId, systemId)DocTypeルート Element ノードに接続されていない DocumentType ノードを作成する 外部サブセット データの指定された公開 ID とシステム ID で構成されます。
createDocument()Document空の XML ドキュメントを作成します。
createDocument(rootElement)Document指定されたルート Element ノードで XML ドキュメントを作成します。
createElement(name)Element指定されたローカル名で、名前空間を持たない、接続されていない Element ノードを作成します。
createElement(name, namespace)Element指定されたローカル名と Namespace で、接続されていない Element ノードを作成します。
createText(text)Text指定された値で、接続されていない Text ノードを作成します。
getCompactFormat()Formatコンパクトな XML ドキュメントを出力するための Format オブジェクトを作成します。
getNamespace(uri)Namespace指定された URI で Namespace を作成します。
getNamespace(prefix, uri)Namespace指定された接頭辞と URI を持つ Namespace を作成します。
getNoNamespace()Namespace実際の名前空間の不在を表す Namespace を作成します。
getPrettyFormat()Format人が読める形式の XML ドキュメントを出力するための Format オブジェクトを作成します。
getRawFormat()Format未加工の XML ドキュメントを出力するための Format オブジェクトを作成します。
getXmlNamespace()Namespace標準の xml 接頭辞を持つ Namespace を作成します。
parse(xml)DocumentXML を検証せずに、指定された XML から Document を作成します。