このサービスを使用すると、スクリプトで 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|null | 属性の名前空間を取得します。 |
get | String | 属性の値を取得します。 |
set | Attribute | 属性のローカル名を設定します。 |
set | Attribute | 属性の Namespace を設定します。 |
set | Attribute | 属性の値を設定します。 |
Cdata
メソッド
| メソッド | 戻り値の型 | 概要 |
|---|---|---|
append(text) | Text | 指定されたテキストをノードにすでに存在するコンテンツに追加します。 |
detach() | Content|null | ノードを親の Element ノードから切り離します。 |
get | Element|null | ノードの親 Element ノードを取得します。 |
get | String | Text ノードのテキスト値を取得します。 |
get | String | ノードの直接または間接の子であるすべてのノードのテキスト値を、ドキュメントに表示される順序で取得します。 |
set | Text | Text ノードのテキスト値を設定します。 |
Comment
メソッド
| メソッド | 戻り値の型 | 概要 |
|---|---|---|
detach() | Content|null | ノードを親の Element ノードから切り離します。 |
get | Element|null | ノードの親 Element ノードを取得します。 |
get | String | Comment ノードのテキスト値を取得します。 |
get | String | ノードの直接または間接の子であるすべてのノードのテキスト値を、ドキュメントに表示される順序で取得します。 |
set | Comment | Comment ノードのテキスト値を設定します。 |
Content
メソッド
| メソッド | 戻り値の型 | 概要 |
|---|---|---|
as | Cdata|null | 予測入力の目的でノードを CDATASection ノードとしてキャストします。 |
as | Comment|null | 予測入力の目的で、ノードを Comment ノードとしてキャストします。 |
as | Doc | 予測入力の目的でノードを Document ノードとしてキャストします。 |
as | Element|null | 予測入力の目的でノードを Element ノードとしてキャストします。 |
as | Entity | 予測入力の目的でノードを Entity ノードとしてキャストします。 |
as | Processing | 予測入力の目的でノードを Processing ノードとしてキャストします。 |
as | Text|null | 予測入力の目的でノードを Text ノードとしてキャストします。 |
detach() | Content|null | ノードを親の Element ノードから切り離します。 |
get | Element|null | ノードの親 Element ノードを取得します。 |
get | Content | ノードのコンテンツ タイプを取得します。 |
get | String | ノードの直接または間接の子であるすべてのノードのテキスト値を、ドキュメントに表示される順序で取得します。 |
Content Type
プロパティ
| プロパティ | タイプ | 説明 |
|---|---|---|
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 Type
メソッド
| メソッド | 戻り値の型 | 概要 |
|---|---|---|
detach() | Content|null | ノードを親の Element ノードから切り離します。 |
get | String | Doc 宣言で指定されたルート Element ノードの名前を取得します。 |
get | String | Document ノードの内部サブセット データを取得します。 |
get | Element|null | ノードの親 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|null | ドキュメントのルート Element ノードを切り離して返します。 |
get | Content[] | ドキュメントの直下の子であるすべてのノードを取得します。 |
get | Content|null | ドキュメントの直接の子であるすべてのノードのうち、指定されたインデックスにあるノードを取得します。 |
get | Integer | ドキュメントの直接の子であるノードの数を取得します。 |
get | Content[] | ドキュメントの直接または間接の子であるすべてのノードを、ドキュメントに表示される順序で取得します。 |
get | Doc | ドキュメントの Doc 宣言を取得します。 |
get | Element|null | ドキュメントのルート Element ノードを取得します。 |
has | Boolean | ドキュメントにルート Element ノードがあるかどうかを判断します。 |
remove | Content[] | ドキュメントの直下の子であるすべてのノードを削除します。 |
remove | Boolean | 指定されたノードがドキュメントの直接の子である場合、そのノードを削除します。 |
remove | Content|null | ドキュメントの直接の子であるすべてのノードのうち、指定されたインデックスにあるノードを削除します。 |
set | Document | ドキュメントの Doc 宣言を設定します。 |
set | Document | ドキュメントのルート Element ノードを設定します。 |
Element
メソッド
| メソッド | 戻り値の型 | 概要 |
|---|---|---|
add | Element | 指定されたノードを Element ノードの最後の子として追加します。 |
add | Element | Element ノードの直接の子であるすべてのノードの中で、指定されたインデックスに指定されたノードを挿入します。 |
clone | Content[] | {@code Element} ノードの直下の子であるすべてのノードの、アタッチされていないコピーを作成します。 |
detach() | Content|null | ノードを親の Element ノードから切り離します。 |
get | Content[] | {@code Element} ノードの直接の子であるすべてのノードを取得します。 |
get | Attribute|null | 指定された名前で名前空間のないこの Element ノードの属性を取得します。 |
get | Attribute|null | 指定された名前と名前空間を持つこの Element ノードの属性を取得します。 |
get | Attribute[] | この Element ノードのすべての属性を、ドキュメントに表示される順序で取得します。 |
get | Element|null | 指定された名前を持ち、Namespace がなく、この Element ノードの直下の子である最初の Element ノードを取得します。 |
get | Element|null | 指定された名前と名前空間を持つ最初の Element ノードを取得します。このノードは、この Element ノードの直下の子です。 |
get | String|null | ノードが Element ノードの直下の子である場合、指定された名前で名前空間のないノードのテキスト値を取得します。 |
get | String|null | ノードが Element ノードの直下の子である場合、指定された名前と名前空間を持つノードのテキスト値を取得します。 |
get | Element[] | この Element ノードの直下の子であるすべての Element ノードを、ドキュメントに表示される順序で取得します。 |
get | Element[] | この Element ノードの直下の子で、指定された名前を持ち、名前空間を持たないすべての Element ノードを、ドキュメントに現れる順序で取得します。 |
get | Element[] | この Element ノードの直下の子である、指定された名前と Namespace を持つすべての Element ノードを、ドキュメントに現れる順序で取得します。 |
get | Content|null | {@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|null | ノードの親 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|null | {@code Element} ノードの直接の子であるすべてのノードのうち、指定されたインデックスにあるノードを削除します。 |
set | Element | この Element ノードに指定された属性を設定します。 |
set | Element | 指定された名前と値で、名前空間なしでこの Element ノードの属性を設定します。 |
set | Element | 指定された名前、値、名前空間を使用して、この Element ノードの属性を設定します。 |
set | Element | Element ノードのローカル名を設定します。 |
set | Element | Element ノードの Namespace を設定します。 |
set | Element | Element ノードのテキスト値を設定します。 |
Entity Ref
メソッド
| メソッド | 戻り値の型 | 概要 |
|---|---|---|
detach() | Content|null | ノードを親の Element ノードから切り離します。 |
get | String | Entity ノードの名前を取得します。 |
get | Element|null | ノードの親 Element ノードを取得します。 |
get | String|null | Entity ノードの公開 ID を取得します。 |
get | String|null | 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 version="1.0"
encoding="UTF-8"?> などの XML 宣言を省略するかどうかを設定します。 |
set | Format | フォーマッタが XML 宣言のエンコード(<?xml version="1.0" encoding="UTF-8"?> のエンコード フィールドなど)を省略するかどうかを設定します。 |
Namespace
メソッド
| メソッド | 戻り値の型 | 概要 |
|---|---|---|
get | String | 名前空間の接頭辞を取得します。 |
get | String | 名前空間の URI を取得します。 |
Processing Instruction
メソッド
| メソッド | 戻り値の型 | 概要 |
|---|---|---|
detach() | Content|null | ノードを親の Element ノードから切り離します。 |
get | String | Processing ノード内のすべての命令の生データを取得します。 |
get | Element|null | ノードの親 Element ノードを取得します。 |
get | String | Processing ノードのターゲットを取得します。 |
get | String | ノードの直接または間接の子であるすべてのノードのテキスト値を、ドキュメントに表示される順序で取得します。 |
Text
メソッド
| メソッド | 戻り値の型 | 概要 |
|---|---|---|
append(text) | Text | 指定されたテキストをノードにすでに存在するコンテンツに追加します。 |
detach() | Content|null | ノードを親の Element ノードから切り離します。 |
get | Element|null | ノードの親 Element ノードを取得します。 |
get | String | Text ノードのテキスト値を取得します。 |
get | String | ノードの直接または間接の子であるすべてのノードのテキスト値を、ドキュメントに表示される順序で取得します。 |
set | Text | Text ノードのテキスト値を設定します。 |
Xml Service
プロパティ
| プロパティ | タイプ | 説明 |
|---|---|---|
Content | Content | XML コンテンツ ノードの型を表す列挙型。 |
メソッド
| メソッド | 戻り値の型 | 概要 |
|---|---|---|
create | Cdata | 指定された値で、アタッチされていない CDATASection ノードを作成します。 |
create | Comment | 指定された値で、アタッチされていない Comment ノードを作成します。 |
create | Doc | 指定された名前のルート Element ノードに対して、アタッチされていない Document ノードを作成します。 |
create | Doc | 指定された名前と、外部サブセット データの指定されたシステム ID を持つルート Element ノードの、未接続の Document ノードを作成します。 |
create | Doc | 指定された名前、指定された公開 ID、外部サブセット データのシステム ID を持つルート Element ノードの未接続の 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 が存在しないことを表す Namespace を作成します。 |
get | Format | 人間が読める形式の XML ドキュメントを出力するための Format オブジェクトを作成します。 |
get | Format | 未加工の XML ドキュメントを出力するための Format オブジェクトを作成します。 |
get | Namespace | 標準の xml 接頭辞を使用して Namespace を作成します。 |
parse(xml) | Document | 指定された XML から Document を作成します。XML の検証は行いません。 |