このサービスを使用すると、スクリプトで解析、ナビゲートを行い、プログラムによって 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 ノードの表現。 |
ContentType | XML コンテンツ ノードのタイプを表す列挙型。 |
DocType | XML DocumentType ノードの表現。 |
Document | XML ドキュメントの表現。 |
Element | XML Element ノードの表現。 |
EntityRef | XML EntityReference ノードの表現。 |
Format | XML ドキュメントを出力するためのフォーマッタ。事前定義された 3 つのフォーマットがあります。 カスタマイズします。 |
Namespace | XML 名前空間の表現。 |
ProcessingInstruction | XML ProcessingInstruction ノードの表現。 |
Text | XML Text ノードの表現。 |
XmlService | このサービスを使用すると、スクリプトで XML ドキュメントの解析、ナビゲーション、プログラムによる作成を行うことができます。 |
Attribute
メソッド
メソッド | 戻り値の型 | 概要 |
---|---|---|
getName() | String | 属性のローカル名を取得します。 |
getNamespace() | Namespace | 属性の名前空間を取得します。 |
getValue() | String | 属性の値を取得します。 |
setName(name) | Attribute | 属性のローカル名を設定します。 |
setNamespace(namespace) | Attribute | 属性の名前空間を設定します。 |
setValue(value) | Attribute | 属性の値を設定します。 |
Cdata
メソッド
メソッド | 戻り値の型 | 概要 |
---|---|---|
append(text) | Text | 指定されたテキストをノード内にすでに存在するすべてのコンテンツに追加します。 |
detach() | Content | ノードを親 Element ノードから切断します。 |
getParentElement() | Element | ノードの親 Element ノードを取得します。 |
getText() | String | Text ノードのテキスト値を取得します。 |
getValue() | String | ノードの直接または間接の子であるすべてのノードのテキスト値を次の順序で取得します。 ドキュメントに表示されます。 |
setText(text) | Text | Text ノードのテキスト値を設定します。 |
Comment
メソッド
メソッド | 戻り値の型 | 概要 |
---|---|---|
detach() | Content | ノードを親 Element ノードから切断します。 |
getParentElement() | Element | ノードの親 Element ノードを取得します。 |
getText() | String | Comment ノードのテキスト値を取得します。 |
getValue() | String | ノードの直接または間接の子であるすべてのノードのテキスト値を次の順序で取得します。 ドキュメントに表示されます。 |
setText(text) | Comment | Comment ノードのテキスト値を設定します。 |
Content
メソッド
メソッド | 戻り値の型 | 概要 |
---|---|---|
asCdata() | Cdata | 予測入力のために、ノードを CDATASection ノードとしてキャストします。 |
asComment() | Comment | 予測入力のために、ノードを Comment ノードとしてキャストします。 |
asDocType() | DocType | 予測入力のために、ノードを DocumentType ノードとしてキャストします。 |
asElement() | Element | 予測入力のために、ノードを Element ノードとしてキャストします。 |
asEntityRef() | EntityRef | 予測入力のために、ノードを EntityReference ノードとしてキャストします。 |
asProcessingInstruction() | ProcessingInstruction | 予測入力のために、ノードを ProcessingInstruction ノードとしてキャストします。 |
asText() | Text | 予測入力のために、ノードを Text ノードとしてキャストします。 |
detach() | Content | ノードを親 Element ノードから切断します。 |
getParentElement() | Element | ノードの親 Element ノードを取得します。 |
getType() | ContentType | ノードのコンテンツ タイプを取得します。 |
getValue() | String | ノードの直接または間接の子であるすべてのノードのテキスト値を次の順序で取得します。 ドキュメントに表示されます。 |
ContentType
プロパティ
プロパティ | タイプ | 説明 |
---|---|---|
CDATA | Enum | XML CDATASection ノード。 |
COMMENT | Enum | XML Comment ノード。 |
DOCTYPE | Enum | XML DocumentType ノード。 |
ELEMENT | Enum | XML Element ノード。 |
ENTITYREF | Enum | XML EntityReference ノード。 |
PROCESSINGINSTRUCTION | Enum | XML ProcessingInstruction ノード。 |
TEXT | Enum | XML Text ノード。 |
DocType
メソッド
メソッド | 戻り値の型 | 概要 |
---|---|---|
detach() | Content | ノードを親 Element ノードから切断します。 |
getElementName() | String | DocType 宣言で指定されたルート Element ノードの名前を取得します。 |
getInternalSubset() | String | DocumentType ノードの内部サブセット データを取得します。 |
getParentElement() | Element | ノードの親 Element ノードを取得します。 |
getPublicId() | String | DocumentType ノードの外部サブセット データの公開 ID を取得します。 |
getSystemId() | String | DocumentType ノードの外部サブセット データのシステム ID を取得します。 |
getValue() | String | ノードの直接または間接の子であるすべてのノードのテキスト値を次の順序で取得します。 ドキュメントに表示されます。 |
setElementName(name) | DocType | DocType に指定するルート Element ノードの名前を設定します
宣言します。 |
setInternalSubset(data) | DocType | DocumentType ノードの内部サブセット データを設定します。 |
setPublicId(id) | DocType | DocumentType ノードの外部サブセット データの公開 ID を設定します。 |
setSystemId(id) | DocType | DocumentType ノードの外部サブセット データのシステム ID を設定します。 |
Document
メソッド
メソッド | 戻り値の型 | 概要 |
---|---|---|
addContent(content) | Document | 指定されたノードをドキュメントの末尾に追加します。 |
addContent(index, content) | Document | 親ノードの直接の子であるすべてのノードの中で、指定されたノードを指定されたインデックスに挿入します。 ドキュメントをご覧ください |
cloneContent() | Content[] | ドキュメントの直接の子であるすべてのノードについて、接続されていないコピーを作成します。 |
detachRootElement() | Element | ドキュメントのルート Element ノードを切断して返します。 |
getAllContent() | Content[] | ドキュメントの直接の子ノードをすべて取得します。 |
getContent(index) | Content | ノードの直接の子ノードのうち、指定されたインデックスにあるノードを取得します。 ドキュメントをご覧ください |
getContentSize() | Integer | ドキュメントの直接の子であるノードの数を取得します。 |
getDescendants() | Content[] | ドキュメントの直接的または間接的な子であるすべてのノードを、次の順序で取得します。 ドキュメントに表示されます。 |
getDocType() | DocType | ドキュメントの DocType 宣言を取得します。 |
getRootElement() | Element | ドキュメントのルート Element ノードを取得します。 |
hasRootElement() | Boolean | ドキュメントにルート Element ノードがあるかどうかを判断します。 |
removeContent() | Content[] | ドキュメントの直接の子ノードをすべて削除します。 |
removeContent(content) | Boolean | 指定したノードがドキュメントの直接の子である場合は、そのノードを削除します。 |
removeContent(index) | Content | ノードの直接の子であるすべてのノードの中から、指定されたインデックスにあるノードを削除します。 ドキュメントをご覧ください |
setDocType(docType) | Document | ドキュメントの DocType 宣言を設定します。 |
setRootElement(element) | Document | ドキュメントのルート Element ノードを設定します。 |
Element
メソッド
メソッド | 戻り値の型 | 概要 |
---|---|---|
addContent(content) | Element | 指定されたノードを Element ノードの最後の子として追加します。 |
addContent(index, content) | Element | 親ノードの直接の子であるすべてのノードの中で、指定されたノードを指定されたインデックスに挿入します。
Element 個のノード。 |
cloneContent() | Content[] | {@code Element} ノードの直接の子であるすべてのノードについて、接続されていないコピーを作成します。 |
detach() | Content | ノードを親 Element ノードから切断します。 |
getAllContent() | Content[] | {@code Element} ノードの直接の子であるノードをすべて取得します。 |
getAttribute(name) | Attribute | 指定の名前で名前空間を持たないこの Element ノードの属性を取得します。 |
getAttribute(name, namespace) | Attribute | 指定の名前と名前空間を持つこの Element ノードの属性を取得します。 |
getAttributes() | Attribute[] | この Element ノードのすべての属性を、ドキュメントでの出現順に取得します。 |
getChild(name) | Element | 指定の名前で、即時の名前空間を持たない最初の Element ノードを取得します。
この Element ノードの子ノード。 |
getChild(name, namespace) | Element | 指定の名前と Namespace を持つ最初の Element ノードを取得します。
この Element ノードの子ノード。 |
getChildText(name) | String | 指定の名前で名前空間を持たないノードのテキスト値を取得します(ノードが
Element ノードの直接の子。 |
getChildText(name, namespace) | String | 指定の名前と名前空間を持つノードのテキスト値を取得します(ノードが即時ノードである場合)。
Element ノードの子ノード。 |
getChildren() | Element[] | この Element ノードの直接の子であるすべての Element ノードを取得します。
順序付けられます。 |
getChildren(name) | Element[] | 指定された名前で、直接の子である名前空間を持たないすべての Element ノードを取得します
この Element ノードのことを、ドキュメントでの表示順で指定します。 |
getChildren(name, namespace) | Element[] | 指定の名前と Namespace の直接の子である Element ノードをすべて取得します。
この Element ノードを、ドキュメントでの出現順で並べ替えます。 |
getContent(index) | Content | ノードの直接の子ノードのうち、指定されたインデックスにあるノードを取得します。 {@code Element} ノード。 |
getContentSize() | Integer | {@code Element} ノードの直接の子であるノードの数を取得します。 |
getDescendants() | Content[] | {@code Element} ノードの直接的または間接的な子であるすべてのノードを、次の順序で取得します。 ドキュメントに表示されます。 |
getDocument() | Document | {@code Element} ノードを含む XML ドキュメントを取得します。 |
getName() | String | Element ノードのローカル名を取得します。 |
getNamespace() | Namespace | Element ノードの名前空間を取得します。 |
getNamespace(prefix) | Namespace | Element ノードに指定された接頭辞を持つ名前空間を取得します。 |
getParentElement() | Element | ノードの親 Element ノードを取得します。 |
getQualifiedName() | String | Element ノードのローカル名と名前空間の接頭辞を [namespacePrefix]:[localName] の形式で取得します。 |
getText() | String | Element ノードのテキスト値を取得します。 |
getValue() | String | ノードの直接または間接の子であるすべてのノードのテキスト値を次の順序で取得します。 ドキュメントに表示されます。 |
isAncestorOf(other) | Boolean | この Element ノードが、指定された Element ノードの直接的親であるか、間接的な親であるかを決定します。 |
isRootElement() | Boolean | Element ノードがドキュメントのルートノードかどうかを判断します。 |
removeAttribute(attribute) | Boolean | この Element ノードに指定された属性が存在する場合は、その属性を削除します。 |
removeAttribute(attributeName) | Boolean | 指定された名前で名前空間を持たないこの Element ノードの属性を削除します。
存在する必要があります。 |
removeAttribute(attributeName, namespace) | Boolean | 指定の名前と Namespace を持つこの Element ノードの属性を削除します(存在する場合)
属性が存在する可能性があります。 |
removeContent() | Content[] | {@code Element} ノードの直接の子ノードをすべて削除します。 |
removeContent(content) | Boolean | 指定したノードが {@code Element} ノードの直接の子である場合、そのノードを削除します。 |
removeContent(index) | Content | ノードの直接の子であるすべてのノードの中から、指定されたインデックスにあるノードを削除します。 {@code Element} ノード。 |
setAttribute(attribute) | Element | この Element ノードに指定された属性を設定します。 |
setAttribute(name, value) | Element | 指定された名前と値を使用し、名前空間なしでこの Element ノードの属性を設定します。 |
setAttribute(name, value, namespace) | Element | 指定の名前、値、名前空間を使用して、この Element ノードの属性を設定します。 |
setName(name) | Element | Element ノードのローカル名を設定します。 |
setNamespace(namespace) | Element | Element ノードの名前空間を設定します。 |
setText(text) | Element | Element ノードのテキスト値を設定します。 |
EntityRef
メソッド
メソッド | 戻り値の型 | 概要 |
---|---|---|
detach() | Content | ノードを親 Element ノードから切断します。 |
getName() | String | EntityReference ノードの名前を取得します。 |
getParentElement() | Element | ノードの親 Element ノードを取得します。 |
getPublicId() | String | EntityReference ノードの公開 ID を取得します。 |
getSystemId() | String | EntityReference ノードのシステム ID を取得します。 |
getValue() | String | ノードの直接または間接の子であるすべてのノードのテキスト値を次の順序で取得します。 ドキュメントに表示されます。 |
setName(name) | EntityRef | EntityReference ノードの名前を設定します。 |
setPublicId(id) | EntityRef | EntityReference ノードの公開 ID を設定します。 |
setSystemId(id) | EntityRef | EntityReference ノードのシステム ID を設定します。 |
Format
メソッド
メソッド | 戻り値の型 | 概要 |
---|---|---|
format(document) | String | 指定された Document をフォーマット済み文字列として出力します。 |
format(element) | String | 指定された Element ノードをフォーマット済み文字列として出力します。 |
setEncoding(encoding) | Format | フォーマッタで使用する文字エンコードを設定します。 |
setIndent(indent) | Format | 子ノードを親に対して相対的にインデントするために使用される文字列を設定します。 |
setLineSeparator(separator) | Format | フォーマッタによって通常改行が挿入されるたびに挿入する文字列を設定します。 |
setOmitDeclaration(omitDeclaration) | Format | フォーマッタが <?xml version="1.0"
encoding="UTF-8"?> などの XML 宣言を省略するかどうかを設定します。 |
setOmitEncoding(omitEncoding) | Format | フォーマッタが XML 宣言のエンコード(
<?xml version="1.0" encoding="UTF-8"?> のエンコード フィールド。 |
Namespace
メソッド
メソッド | 戻り値の型 | 概要 |
---|---|---|
getPrefix() | String | 名前空間の接頭辞を取得します。 |
getURI() | String | 名前空間の URI を取得します。 |
ProcessingInstruction
メソッド
メソッド | 戻り値の型 | 概要 |
---|---|---|
detach() | Content | ノードを親 Element ノードから切断します。 |
getData() | String | ProcessingInstruction ノード内のすべての命令の元データを取得します。 |
getParentElement() | Element | ノードの親 Element ノードを取得します。 |
getTarget() | String | ProcessingInstruction ノードのターゲットを取得します。 |
getValue() | String | ノードの直接または間接の子であるすべてのノードのテキスト値を次の順序で取得します。 ドキュメントに表示されます。 |
Text
メソッド
メソッド | 戻り値の型 | 概要 |
---|---|---|
append(text) | Text | 指定されたテキストをノード内にすでに存在するすべてのコンテンツに追加します。 |
detach() | Content | ノードを親 Element ノードから切断します。 |
getParentElement() | Element | ノードの親 Element ノードを取得します。 |
getText() | String | Text ノードのテキスト値を取得します。 |
getValue() | String | ノードの直接または間接の子であるすべてのノードのテキスト値を次の順序で取得します。 ドキュメントに表示されます。 |
setText(text) | Text | Text ノードのテキスト値を設定します。 |
XmlService
プロパティ
プロパティ | タイプ | 説明 |
---|---|---|
ContentTypes | ContentType | XML コンテンツ ノードのタイプを表す列挙型。 |