このサービスを使用すると、スクリプトで XML ドキュメントを解析、ナビゲートし、プログラムで作成できます。
// Log the title and labels for the first page of blog posts on the // Google Workspace Developer blog. function parseXml() { var url = 'https://gsuite-developers.googleblog.com/atom.xml'; var xml = UrlFetchApp.fetch(url).getContentText(); var document = XmlService.parse(xml); var root = document.getRootElement(); var atom = XmlService.getNamespace('http://www.w3.org/2005/Atom'); var entries = root.getChildren('entry', atom); for (var i = 0; i < entries.length; i++) { var title = entries[i].getChild('title', atom).getText(); var categoryElements = entries[i].getChildren('category', atom); var labels = []; for (var 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() { var root = XmlService.createElement('threads'); var threads = GmailApp.getInboxThreads(); for (var i = 0; i < threads.length; i++) { var child = XmlService.createElement('thread') .setAttribute('messageCount', threads[i].getMessageCount()) .setAttribute('isUnread', threads[i].isUnread()) .setText(threads[i].getFirstMessageSubject()); root.addContent(child); } var document = XmlService.createDocument(root); var xml = XmlService.getPrettyFormat().format(document); Logger.log(xml); }
プロパティ
プロパティ | 種類 | 説明 |
---|---|---|
ContentTypes | ContentType | XML コンテンツ ノードの種類を表す列挙型。 |
Methods
詳細なドキュメント
createCdata(text)
指定された値で、接続されていない CDATASection
ノードを作成します。
パラメータ
名前 | 型 | 説明 |
---|---|---|
text | String | 設定する値 |
リターン
Cdata
- 新しく作成された CDATASection
ノード
createComment(text)
createDocType(elementName)
指定された名前でルート Element
ノード用に未接続の DocumentType
ノードを作成します。
パラメータ
名前 | 型 | 説明 |
---|---|---|
elementName | String | DocType 宣言で指定するルート Element ノードの名前 |
リターン
DocType
- 新しく作成された DocumentType
ノード
createDocType(elementName, systemId)
指定された名前と外部のサブセット データ用に指定されたシステム ID で、ルート Element
ノード用に接続されていない DocumentType
ノードを作成します。
パラメータ
名前 | 型 | 説明 |
---|---|---|
elementName | String | DocType 宣言で指定するルート Element ノードの名前 |
systemId | String | 設定する外部サブセット データのシステム ID。 |
リターン
DocType
- 新しく作成された DocumentType
ノード
createDocType(elementName, publicId, systemId)
ルート Element
ノードの接続されていない DocumentType
ノードを、指定された名前と、外部のサブセット データ用に指定された公開 ID とシステム ID で作成します。
パラメータ
名前 | 型 | 説明 |
---|---|---|
elementName | String | DocType 宣言で指定するルート Element ノードの名前 |
publicId | String | 設定する外部サブセット データの公開 ID |
systemId | String | 設定する外部サブセット データのシステム ID。 |
リターン
DocType
- 新しく作成された DocumentType
ノード
createDocument()
createDocument(rootElement)
createElement(name)
createElement(name, namespace)
createText(text)
getCompactFormat()
コンパクトな XML ドキュメントを出力するための Format
オブジェクトを作成します。フォーマッタはデフォルトで UTF-8
エンコードされ、インデントと改行の追加はされませんが、XML 宣言とそのエンコードが含まれます。
// Log an XML document in compact form. var xml = '<root><a><b>Text!</b><b>More text!</b></a></root>'; var document = XmlService.parse(xml); var output = XmlService.getCompactFormat() .format(document); Logger.log(output);
リターン
Format
- 新しく作成されたフォーマッタ
getNamespace(uri)
getNamespace(prefix, uri)
getPrettyFormat()
人が読める XML ドキュメントを出力するための Format
オブジェクトを作成します。フォーマッタはデフォルトで UTF-8
エンコード、2 スペースインデント、\r\n
行区切り記号が各ノードの後に設定され、XML 宣言とそのエンコードが含まれます。
// Log an XML document in human-readable form. var xml = '<root><a><b>Text!</b><b>More text!</b></a></root>'; var document = XmlService.parse(xml); var output = XmlService.getPrettyFormat() .format(document); Logger.log(output);
リターン
Format
- 新しく作成されたフォーマッタ
getRawFormat()
未加工の XML ドキュメントを出力するための Format
オブジェクトを作成します。フォーマッタはデフォルトで UTF-8
エンコードされ、XML ドキュメント自体で指定されたもの以外はインデントや改行されず、XML 宣言とそのエンコードが含まれます。
// Log an XML document in raw form. var xml = '<root><a><b>Text!</b><b>More text!</b></a></root>'; var document = XmlService.parse(xml); var output = XmlService.getRawFormat() .format(document); Logger.log(output);
リターン
Format
- 新しく作成されたフォーマッタ