Class XmlService

XmlService

このサービスを使用すると、スクリプトで 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);
}

プロパティ

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

メソッド

メソッド戻り値の型概要
createCdata(text)Cdata指定された値を使用して、接続されていない CDATASection ノードを作成します。
createComment(text)Comment指定された値を使用して、接続されていない Comment ノードを作成します。
createDocType(elementName)DocType指定された名前のルート Element ノードに、アタッチされていない DocumentType ノードを作成します。
createDocType(elementName, systemId)DocType指定された名前のルート Element ノードと、外部サブセット データの指定されたシステム ID を持つ、接続されていない DocumentType ノードを作成します。
createDocType(elementName, publicId, systemId)DocType指定された名前のルート Element ノードと、外部サブセット データの指定された公開 ID とシステム ID を持つ、接続されていない DocumentType ノードを作成します。
createDocument()Document空の XML ドキュメントを作成します。
createDocument(rootElement)Document指定されたルート Element ノードを持つ XML ドキュメントを作成します。
createElement(name)Element指定されたローカル名で、Namespace のないアタッチされていない 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 を作成します。

詳細なドキュメント

createCdata(text)

指定された値を使用して、接続されていない CDATASection ノードを作成します。

パラメータ

名前説明
textString設定する値

戻る

Cdata - 新しく作成された CDATASection ノード


createComment(text)

指定された値を使用して、接続されていない Comment ノードを作成します。

パラメータ

名前説明
textString設定する値

戻る

Comment - 新しく作成された Comment ノード


createDocType(elementName)

指定された名前のルート Element ノードに、アタッチされていない DocumentType ノードを作成します。

パラメータ

名前説明
elementNameStringDocType 宣言で指定するルート Element ノードの名前

戻る

DocType - 新しく作成された DocumentType ノード


createDocType(elementName, systemId)

指定された名前のルート Element ノードと、外部サブセット データの指定されたシステム ID を持つ、接続されていない DocumentType ノードを作成します。

パラメータ

名前説明
elementNameStringDocType 宣言で指定するルート Element ノードの名前
systemIdString設定する外部サブセット データのシステム ID

戻る

DocType - 新しく作成された DocumentType ノード


createDocType(elementName, publicId, systemId)

指定された名前のルート Element ノードと、外部サブセット データの指定された公開 ID とシステム ID を持つ、接続されていない DocumentType ノードを作成します。

パラメータ

名前説明
elementNameStringDocType 宣言で指定するルート Element ノードの名前
publicIdString設定する外部サブセット データのパブリック ID
systemIdString設定する外部サブセット データのシステム ID

戻る

DocType - 新しく作成された DocumentType ノード


createDocument()

空の XML ドキュメントを作成します。

戻る

Document - 新しく作成されたドキュメント


createDocument(rootElement)

指定されたルート Element ノードを持つ XML ドキュメントを作成します。

パラメータ

名前説明
rootElementElement設定するルート Element ノード

戻る

Document - 新しく作成されたドキュメント


createElement(name)

指定されたローカル名で、Namespace のないアタッチされていない Element ノードを作成します。

パラメータ

名前説明
nameString設定するローカル名

戻る

Element - 新しく作成された Element ノード


createElement(name, namespace)

指定されたローカル名と Namespace を使用して、アタッチされていない Element ノードを作成します。

パラメータ

名前説明
nameString設定するローカル名
namespaceNamespace設定する Namespace

戻る

Element - 新しく作成された Element ノード


createText(text)

指定された値を使用して、接続されていない Text ノードを作成します。

パラメータ

名前説明
textString設定する値

戻る

Text - 新しく作成された Text ノード


getCompactFormat()

コンパクトな 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 - 新しく作成されたフォーマッタ


getNamespace(uri)

指定された URI で Namespace を作成します。

パラメータ

名前説明
uriString名前空間の URI

戻る

Namespace - 新しく作成された Namespace


getNamespace(prefix, uri)

指定された接頭辞と URI を使用して Namespace を作成します。

パラメータ

名前説明
prefixStringNamespace の接頭辞
uriString名前空間の URI

戻る

Namespace - 新しく作成された Namespace


getNoNamespace()

実際の名前空間がないことを示す Namespace を作成します。

戻る

Namespace - 新しく作成された Namespace


getPrettyFormat()

人間が読み取れる 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 - 新しく作成されたフォーマッタ


getRawFormat()

未加工の 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 - 新しく作成されたフォーマッタ


getXmlNamespace()

標準の xml 接頭辞を使用して Namespace を作成します。

戻る

Namespace - 新しく作成された Namespace


parse(xml)

XML を検証せずに、指定された XML から Document を作成します。

const xml = '<root><a><b>Text!</b><b>More text!</b></a></root>';
const doc = XmlService.parse(xml);

パラメータ

名前説明
xmlString解析する XML

戻る

Document - 新しく作成されたドキュメント