このサービスを使用すると、スクリプトで XML ドキュメントの解析、ナビゲーション、プログラムによる作成を行うことができます。
// Log the title and labels for the first page of blog posts on the // Google Workspace Developer blog. function parseXml() { const url = 'https://gsuite-developers.googleblog.com/atom.xml'; const xml = UrlFetchApp.fetch(url).getContentText(); const document = XmlService.parse(xml); const root = document.getRootElement(); const atom = XmlService.getNamespace('http://www.w3.org/2005/Atom'); const entries = root.getChildren('entry', atom); for (let i = 0; i < entries.length; i++) { const title = entries[i].getChild('title', atom).getText(); const categoryElements = entries[i].getChildren('category', atom); const labels = []; for (let j = 0; j < categoryElements.length; j++) { labels.push(categoryElements[j].getAttribute('term').getValue()); } Logger.log('%s (%s)', title, labels.join(', ')); } } // Create and log an XML representation of the threads in your Gmail inbox. function createXml() { const root = XmlService.createElement('threads'); const threads = GmailApp.getInboxThreads(); for (let i = 0; i < threads.length; i++) { const child = XmlService.createElement('thread') .setAttribute('messageCount', threads[i].getMessageCount()) .setAttribute('isUnread', threads[i].isUnread()) .setText(threads[i].getFirstMessageSubject()); root.addContent(child); } const document = XmlService.createDocument(root); const xml = XmlService.getPrettyFormat().format(document); Logger.log(xml); }
プロパティ
| プロパティ | タイプ | 説明 |
|---|---|---|
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 の検証は行いません。 |
詳細なドキュメント
create Cdata(text)
指定された値で、アタッチされていない CDATASection ノードを作成します。
パラメータ
| 名前 | 型 | 説明 |
|---|---|---|
text | String | 設定する値。 |
戻る
Cdata - 新しく作成された CDATASection ノード。
create Comment(text)
create Doc Type(elementName)
指定された名前のルート Element ノードに対して、アタッチされていない Document ノードを作成します。
パラメータ
| 名前 | 型 | 説明 |
|---|---|---|
element | String | Doc 宣言で指定するルート Element ノードの名前。 |
戻る
Doc - 新しく作成された Document ノード。
create Doc Type(elementName, systemId)
指定された名前と、外部サブセット データの指定されたシステム ID を持つルート Element ノードの、未接続の Document ノードを作成します。
パラメータ
| 名前 | 型 | 説明 |
|---|---|---|
element | String | Doc 宣言で指定するルート Element ノードの名前。 |
system | String | 設定する外部サブセット データのシステム ID。 |
戻る
Doc - 新しく作成された Document ノード。
create Doc Type(elementName, publicId, systemId)
指定された名前、指定された公開 ID、外部サブセット データのシステム ID を持つルート Element ノードの未接続の Document ノードを作成します。
パラメータ
| 名前 | 型 | 説明 |
|---|---|---|
element | String | Doc 宣言で指定するルート Element ノードの名前。 |
public | String | 設定する外部サブセット データの公開 ID。 |
system | String | 設定する外部サブセット データのシステム ID。 |
戻る
Doc - 新しく作成された Document ノード。
create Document()
create Document(rootElement)
create Element(name)
create Element(name, namespace)
create Text(text)
get Compact Format()
コンパクトな XML ドキュメントを出力するための Format オブジェクトを作成します。フォーマッタのデフォルトは UTF-8 エンコードで、インデントや追加の改行はありませんが、XML 宣言とそのエンコードが含まれます。
// Log an XML document in compact form. const xml = '<root><a><b>Text!</b><b>More text!</b></a></root>'; const document = XmlService.parse(xml); const output = XmlService.getCompactFormat().format(document); Logger.log(output);
戻る
Format - 新しく作成されたフォーマッタ。
get Namespace(uri)
get Namespace(prefix, uri)
get Pretty Format()
人間が読める形式の XML ドキュメントを出力するための Format オブジェクトを作成します。フォーマッタのデフォルトは、UTF-8 エンコード、2 スペースのインデント、各ノード後の \r\n 行区切り文字です。また、XML 宣言とそのエンコードも含まれます。
// Log an XML document in human-readable form. const xml = '<root><a><b>Text!</b><b>More text!</b></a></root>'; const document = XmlService.parse(xml); const output = XmlService.getPrettyFormat().format(document); Logger.log(output);
戻る
Format - 新しく作成されたフォーマッタ。
get Raw Format()
未加工の XML ドキュメントを出力するための Format オブジェクトを作成します。フォーマッタのデフォルトは UTF-8 エンコードで、インデントと XML ドキュメント自体で指定されたもの以外の改行はありません。また、XML 宣言とそのエンコードが含まれます。
// Log an XML document in raw form. const xml = '<root><a><b>Text!</b><b>More text!</b></a></root>'; const document = XmlService.parse(xml); const output = XmlService.getRawFormat().format(document); Logger.log(output);
戻る
Format - 新しく作成されたフォーマッタ。