このサービスを使用すると、スクリプトで 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 ノードの表現。 | 
| Content | XML コンテンツ ノードのタイプを表す列挙型。 | 
| Doc | XML Documentノードの表現。 | 
| Document | XML ドキュメントの表現。 | 
| Element | XML Elementノードの表現。 | 
| Entity | XML Entityノードの表現。 | 
| Format | XML ドキュメントを出力するためのフォーマッタ。3 つの事前定義された形式があり、さらにカスタマイズできます。 | 
| Namespace | XML 名前空間の表現。 | 
| Processing | XML Processingノードの表現。 | 
| Text | XML Textノードの表現。 | 
| Xml | このサービスを使用すると、スクリプトで XML ドキュメントを解析、ナビゲート、プログラムで作成できます。 | 
Attribute
メソッド
| メソッド | 戻り値の型 | 概要 | 
|---|---|---|
| get | String | 属性のローカル名を取得します。 | 
| get | Namespace | 属性の名前空間を取得します。 | 
| get | String | 属性の値を取得します。 | 
| set | Attribute | 属性のローカル名を設定します。 | 
| set | Attribute | 属性の名前空間を設定します。 | 
| set | Attribute | 属性の値を設定します。 | 
Cdata
メソッド
| メソッド | 戻り値の型 | 概要 | 
|---|---|---|
| append(text) | Text | 指定されたテキストを、ノード内にすでに存在するコンテンツに追加します。 | 
| detach() | Content | ノードを親の Elementノードから切断します。 | 
| get | Element | ノードの親 Elementノードを取得します。 | 
| get | String | Textノードのテキスト値を取得します。 | 
| get | String | ノードの直接の子または間接の子であるすべてのノードのテキスト値を、ドキュメントに表示される順序で取得します。 | 
| set | Text | Textノードのテキスト値を設定します。 | 
Comment
メソッド
| メソッド | 戻り値の型 | 概要 | 
|---|---|---|
| detach() | Content | ノードを親の Elementノードから切断します。 | 
| get | Element | ノードの親 Elementノードを取得します。 | 
| get | String | Commentノードのテキスト値を取得します。 | 
| get | String | ノードの直接の子または間接の子であるすべてのノードのテキスト値を、ドキュメントに表示される順序で取得します。 | 
| set | Comment | Commentノードのテキスト値を設定します。 | 
Content
メソッド
| メソッド | 戻り値の型 | 概要 | 
|---|---|---|
| as | Cdata | 予測入力のためにノードを CDATASectionノードとしてキャストします。 | 
| as | Comment | 予測入力のためにノードを Commentノードとしてキャストします。 | 
| as | Doc | 予測入力のためにノードを Documentノードとしてキャストします。 | 
| as | Element | 自動補完のためにノードを Elementノードとしてキャストします。 | 
| as | Entity | 予測入力のためにノードを Entityノードとしてキャストします。 | 
| as | Processing | 予測入力のためにノードを Processingノードとしてキャストします。 | 
| as | Text | 予測入力のためにノードを Textノードとしてキャストします。 | 
| detach() | Content | ノードを親の Elementノードから切断します。 | 
| get | Element | ノードの親 Elementノードを取得します。 | 
| get | Content | ノードのコンテンツ タイプを取得します。 | 
| get | String | ノードの直接の子または間接の子であるすべてのノードのテキスト値を、ドキュメントに表示される順序で取得します。 | 
Content
プロパティ
| プロパティ | タイプ | 説明 | 
|---|---|---|
| CDATA | Enum | XML CDATASectionノード。 | 
| COMMENT | Enum | XML Commentノード。 | 
| DOCTYPE | Enum | XML Documentノード。 | 
| ELEMENT | Enum | XML Elementノード。 | 
| ENTITYREF | Enum | XML Entityノード。 | 
| PROCESSINGINSTRUCTION | Enum | XML Processingノード。 | 
| TEXT | Enum | XML Textノード。 | 
Doc
メソッド
| メソッド | 戻り値の型 | 概要 | 
|---|---|---|
| detach() | Content | ノードを親の Elementノードから切断します。 | 
| get | String | Doc宣言で指定されたルートElementノードの名前を取得します。 | 
| get | String | Documentノードの内部サブセット データを取得します。 | 
| get | Element | ノードの親 Elementノードを取得します。 | 
| get | String | Documentノードの外部サブセット データの公開 ID を取得します。 | 
| get | String | Documentノードの外部サブセット データのシステム ID を取得します。 | 
| get | String | ノードの直接の子または間接の子であるすべてのノードのテキスト値を、ドキュメントに表示される順序で取得します。 | 
| set | Doc | Doc宣言で指定するルートElementノードの名前を設定します。 | 
| set | Doc | Documentノードの内部サブセット データを設定します。 | 
| set | Doc | Documentノードの外部サブセット データのパブリック ID を設定します。 | 
| set | Doc | Documentノードの外部サブセット データのシステム ID を設定します。 | 
Document
メソッド
| メソッド | 戻り値の型 | 概要 | 
|---|---|---|
| add | Document | 指定されたノードをドキュメントの末尾に追加します。 | 
| add | Document | ドキュメントの直下の子であるすべてのノードのうち、指定されたインデックスに指定されたノードを挿入します。 | 
| clone | Content[] | ドキュメントの直接の子であるすべてのノードのアタッチされていないコピーを作成します。 | 
| detach | Element | ドキュメントのルート Elementノードを切断して返します。 | 
| get | Content[] | ドキュメントの直接の子であるすべてのノードを取得します。 | 
| get | Content | ドキュメントの直下の子であるすべてのノードのうち、指定されたインデックスのノードを取得します。 | 
| get | Integer | ドキュメントの直接の子であるノードの数を取得します。 | 
| get | Content[] | ドキュメントの直接または間接の子であるすべてのノードを、ドキュメントに表示される順序で取得します。 | 
| get | Doc | ドキュメントの Doc宣言を取得します。 | 
| get | Element | ドキュメントのルート Elementノードを取得します。 | 
| has | Boolean | ドキュメントにルート Elementノードがあるかどうかを判断します。 | 
| remove | Content[] | ドキュメントの直接の子であるすべてのノードを削除します。 | 
| remove | Boolean | 指定されたノードがドキュメントの直接の子である場合、そのノードを削除します。 | 
| remove | Content | ドキュメントの直接の子であるすべてのノードのうち、指定されたインデックスのノードを削除します。 | 
| set | Document | ドキュメントの Doc宣言を設定します。 | 
| set | Document | ドキュメントのルート Elementノードを設定します。 | 
Element
メソッド
| メソッド | 戻り値の型 | 概要 | 
|---|---|---|
| add | Element | 指定されたノードを Elementノードの最後の子として追加します。 | 
| add | Element | 指定したノードを、 Elementノードの直下の子であるすべてのノードの指定したインデックスに挿入します。 | 
| clone | Content[] | {@code Element} ノードの直下の子であるすべてのノードの、アタッチされていないコピーを作成します。 | 
| detach() | Content | ノードを親の Elementノードから切断します。 | 
| get | Content[] | {@code Element} ノードの直接の子であるすべてのノードを取得します。 | 
| get | Attribute | 指定された名前で、名前空間のないこの Elementノードの属性を取得します。 | 
| get | Attribute | 指定された名前と名前空間を持つこの Elementノードの属性を取得します。 | 
| get | Attribute[] | この Elementノードのすべての属性を、ドキュメントに記載されている順序で取得します。 | 
| get | Element | 指定された名前で、この Elementノードの直下の子ノードである Namespace のない最初のElementノードを取得します。 | 
| get | Element | この Elementノードの直下の子で、指定された名前と名前空間を持つ最初のElementノードを取得します。 | 
| get | String | ノードが Elementノードの直下の子である場合、指定された名前と名前空間のないノードのテキスト値を取得します。 | 
| get | String | ノードが Elementノードの直下にある場合、指定された名前と名前空間を持つノードのテキスト値を取得します。 | 
| get | Element[] | この Elementノードの直下の子であるすべてのElementノードを、ドキュメント内の表示順で取得します。 | 
| get | Element[] | 指定された名前で、この Elementノードの直下の子である名前空間のないすべてのElementノードを、ドキュメントに表示される順序で取得します。 | 
| get | Element[] | この Elementノードの直下の子で、指定された名前と名前空間を持つすべてのElementノードを、ドキュメントに表示される順序で取得します。 | 
| get | Content | {@code Element} ノードの直接の子であるすべてのノードのうち、指定されたインデックスのノードを取得します。 | 
| get | Integer | {@code Element} ノードの直下の子ノードの数を取得します。 | 
| get | Content[] | {@code Element} ノードの直接または間接の子であるすべてのノードを、ドキュメントに表示される順序で取得します。 | 
| get | Document | {@code Element} ノードを含む XML ドキュメントを取得します。 | 
| get | String | Elementノードのローカル名を取得します。 | 
| get | Namespace | Elementノードの Namespace を取得します。 | 
| get | Namespace | Elementノードに指定された接頭辞を持つ名前空間を取得します。 | 
| get | Element | ノードの親 Elementノードを取得します。 | 
| get | String | Elementノードのローカル名と名前空間の接頭辞を[namespacePrefix]:[localName]形式で取得します。 | 
| get | String | Elementノードのテキスト値を取得します。 | 
| get | String | ノードの直接の子または間接の子であるすべてのノードのテキスト値を、ドキュメントに表示される順序で取得します。 | 
| is | Boolean | この Elementノードが、特定のElementノードの直接的または間接的な親であるかどうかを判断します。 | 
| is | Boolean | Elementノードがドキュメントのルートノードかどうかを判断します。 | 
| remove | Boolean | この Elementノードの指定された属性を削除します(存在する場合)。 | 
| remove | Boolean | 指定された名前で名前空間のないこの Elementノードの属性を削除します(そのような属性が存在する場合)。 | 
| remove | Boolean | 指定された名前と名前空間を持つこの Elementノードの属性を削除します(属性が存在する場合)。 | 
| remove | Content[] | {@code Element} ノードの直接の子であるすべてのノードを削除します。 | 
| remove | Boolean | 指定されたノードが {@code Element} ノードの直接の子である場合、そのノードを削除します。 | 
| remove | Content | {@code Element} ノードの直接の子であるすべてのノードのうち、指定したインデックスのノードを削除します。 | 
| set | Element | この Elementノードに指定された属性を設定します。 | 
| set | Element | 指定された名前と値で、この Elementノードの属性を設定し、名前空間は設定しません。 | 
| set | Element | 指定された名前、値、Namespace を使用して、この Elementノードの属性を設定します。 | 
| set | Element | Elementノードのローカル名を設定します。 | 
| set | Element | Elementノードの Namespace を設定します。 | 
| set | Element | Elementノードのテキスト値を設定します。 | 
Entity
メソッド
| メソッド | 戻り値の型 | 概要 | 
|---|---|---|
| detach() | Content | ノードを親の Elementノードから切断します。 | 
| get | String | Entityノードの名前を取得します。 | 
| get | Element | ノードの親 Elementノードを取得します。 | 
| get | String | Entityノードの公開 ID を取得します。 | 
| get | String | Entityノードのシステム ID を取得します。 | 
| get | String | ノードの直接の子または間接の子であるすべてのノードのテキスト値を、ドキュメントに表示される順序で取得します。 | 
| set | Entity | Entityノードの名前を設定します。 | 
| set | Entity | Entityノードの公開 ID を設定します。 | 
| set | Entity | Entityノードのシステム ID を設定します。 | 
Format
メソッド
| メソッド | 戻り値の型 | 概要 | 
|---|---|---|
| format(document) | String | 指定された Documentをフォーマットされた文字列として出力します。 | 
| format(element) | String | 指定された Elementノードをフォーマットされた文字列として出力します。 | 
| set | Format | フォーマッタが使用する文字エンコードを設定します。 | 
| set | Format | 親ノードに対して子ノードをインデントするために使用される文字列を設定します。 | 
| set | Format | フォーマッタが通常改行を挿入するときに挿入する文字列を設定します。 | 
| set | Format | フォーマッタが XML 宣言( <?xml version="1.0"
encoding="UTF-8"?>など)を省略するかどうかを設定します。 | 
| set | Format | フォーマッタが XML 宣言のエンコード( <?xml version="1.0" encoding="UTF-8"?>のエンコード フィールドなど)を省略するかどうかを設定します。 | 
Namespace
メソッド
| メソッド | 戻り値の型 | 概要 | 
|---|---|---|
| get | String | 名前空間の接頭辞を取得します。 | 
| get | String | Namespace の URI を取得します。 | 
Processing
メソッド
| メソッド | 戻り値の型 | 概要 | 
|---|---|---|
| detach() | Content | ノードを親の Elementノードから切断します。 | 
| get | String | Processingノード内のすべての命令の元データを取得します。 | 
| get | Element | ノードの親 Elementノードを取得します。 | 
| get | String | Processingノードのターゲットを取得します。 | 
| get | String | ノードの直接の子または間接の子であるすべてのノードのテキスト値を、ドキュメントに表示される順序で取得します。 | 
Text
メソッド
| メソッド | 戻り値の型 | 概要 | 
|---|---|---|
| append(text) | Text | 指定されたテキストを、ノード内にすでに存在するコンテンツに追加します。 | 
| detach() | Content | ノードを親の Elementノードから切断します。 | 
| get | Element | ノードの親 Elementノードを取得します。 | 
| get | String | Textノードのテキスト値を取得します。 | 
| get | String | ノードの直接の子または間接の子であるすべてのノードのテキスト値を、ドキュメントに表示される順序で取得します。 | 
| set | Text | Textノードのテキスト値を設定します。 | 
Xml
プロパティ
| プロパティ | タイプ | 説明 | 
|---|---|---|
| Content | Content | XML コンテンツ ノードのタイプを表す列挙型。 | 
メソッド
| メソッド | 戻り値の型 | 概要 | 
|---|---|---|
| create | Cdata | 指定された値を使用して、接続されていない CDATASectionノードを作成します。 | 
| create | Comment | 指定された値を使用して、接続されていない Commentノードを作成します。 | 
| create | Doc | 指定された名前のルート Elementノードに、アタッチされていないDocumentノードを作成します。 | 
| create | Doc | 指定された名前のルート Elementノードと、外部サブセット データの指定されたシステム ID を持つ、接続されていないDocumentノードを作成します。 | 
| create | Doc | 指定された名前のルート Elementノードと、外部サブセット データの指定された公開 ID とシステム ID を持つ、接続されていないDocumentノードを作成します。 | 
| create | Document | 空の XML ドキュメントを作成します。 | 
| create | Document | 指定されたルート Elementノードを持つ XML ドキュメントを作成します。 | 
| create | Element | 指定されたローカル名で、Namespace のないアタッチされていない Elementノードを作成します。 | 
| create | Element | 指定されたローカル名と Namespace を使用して、アタッチされていない Elementノードを作成します。 | 
| create | Text | 指定された値を使用して、接続されていない Textノードを作成します。 | 
| get | Format | コンパクトな XML ドキュメントを出力する Formatオブジェクトを作成します。 | 
| get | Namespace | 指定された URI で Namespaceを作成します。 | 
| get | Namespace | 指定された接頭辞と URI を使用して Namespaceを作成します。 | 
| get | Namespace | 実際の名前空間がないことを示す Namespaceを作成します。 | 
| get | Format | 人間が読み取れる XML ドキュメントを出力するための Formatオブジェクトを作成します。 | 
| get | Format | 未加工の XML ドキュメントを出力する Formatオブジェクトを作成します。 | 
| get | Namespace | 標準の xml接頭辞を使用してNamespaceを作成します。 | 
| parse(xml) | Document | XML を検証せずに、指定された XML から Documentを作成します。 |