Class XmlService

XmlService

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

プロパティ

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

メソッド

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

パラメータ

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

戻る

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


createDocType(elementName, publicId, systemId)

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

パラメータ

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

戻る

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


createDocument()

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

戻る

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


createDocument(rootElement)

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

パラメータ

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

戻る

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


createElement(name)

指定されたローカル名で、名前空間を持たない、接続されていない 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.
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)

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

パラメータ

名前説明
uriString名前空間の URI

戻る

Namespace - 新しく作成された Namespace


getNamespace(prefix, uri)

指定された接頭辞と URI を持つ Namespace を作成します。

パラメータ

名前説明
prefixString名前空間の接頭辞
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.
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 - 新しく作成されたフォーマッタ


getXmlNamespace()

標準の xml 接頭辞を持つ Namespace を作成します。

戻る

Namespace - 新しく作成された Namespace


parse(xml)

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

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

パラメータ

名前説明
xmlString解析する XML

戻る

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