---
sourceDocument: Xanadu API リファレンス
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ja-JP/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - ja-JP

ft:publication_title :

    - Xanadu API リファレンス

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# XMLNode - スコープ対象、グローバル

# XMLNode - スコープ対象、グローバル {#ariaid-title1}

* リリースバージョン: Xanadu
* 
* 更新日 2024年08月01日
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 所要時間：10分

XMLNode API は、XML ノードから値を照会するメソッドを提供します。XMLNode は XML 文字列を含む XMLDocument2 オブジェクトから抽出されます。

XMLNode オブジェクトのスタンドアロンのインスタンスを作成するためのコンストラクターはありません。代わりに、[XMLDocument2](https://servicenow-prod.fluidtopics.net/BZgu_8cumIWb86I6Btksmw#c_XMLDocument2ScopedAPI "XMLDocument2 API は、XML 文字列から XML データを解析および抽出するための JavaScript オブジェクトラッパーです。") の createElement() メソッドを使用して、既存のドキュメントにノードを追加します。

## スコープ指定の XMLNode - getAttribute(文字列 attribute) {#ariaid-title2}

属性の値を取得します。
{#r_ScopedXMLNodeGetAttribute_String__table_ir2_12p_1r__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| attribute | 文字列 | 属性の名前。 |
[表 : 1. パラメーター]

{#r_ScopedXMLNodeGetAttribute_String__table_ir2_12p_1r} {#r_ScopedXMLNodeGetAttribute_String__table_kr2_12p_1r__entry__2}

| タイプ | 説明 |
|-|-|
| 文字列 | 属性の値。 |
[表 : 2. 返される内容]

{#r_ScopedXMLNodeGetAttribute_String__table_kr2_12p_1r}  

    var xmlString = "<test>" +
                    "  <one>" +
                    "    <two att=\"xxx\">abcd1234</two>" +
                    "    <three boo=\"yah\" att=\"yyy\">1234abcd</three>" +
                    "    <two>another</two>" +
                    "  </one>" +
                    "  <number>1234</number>" +
                    "</test>";
    var xmlDoc = new XMLDocument2();
    xmlDoc.parseXML(xmlString);
    var node = xmlDoc.getNode('//two');
    gs.info(node.getAttribute('att'));

出力:

    xxx

## スコープ指定の XMLNode - getAttributes() {#ariaid-title3}

値を持つプロパティとしてノードの属性を含むオブジェクトを返します。
{#r_SXMLN_getAttributes__table_bk3_rjy_3x__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 3. パラメーター]

{#r_SXMLN_getAttributes__table_bk3_rjy_3x} {#r_SXMLN_getAttributes__table_ck3_rjy_3x__entry__2}

| タイプ | 説明 |
|-|-|
| オブジェクト | 名前と値のペア (名前が属性、値はその属性の値) が含まれます。 |
[表 : 4. 返される内容]

{#r_SXMLN_getAttributes__table_ck3_rjy_3x}

## スコープ指定の XMLNode - getChildNodeIterator() {#ariaid-title4}

子ノードのリストの確認に使用できる XMLNodeIterator オブジェクトを取得します。
{#r_ScopedXMLNodeGetChildNodeIterator__table_ng3_xfc_2r__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 5. パラメーター]

{#r_ScopedXMLNodeGetChildNodeIterator__table_ng3_xfc_2r} {#r_ScopedXMLNodeGetChildNodeIterator__table_brm_x2p_1r__entry__2}

| タイプ | 説明 |
|-|-|
| XMLNodeIterator | ノードの反復子のオブジェクト。 |
[表 : 6. 返される内容]

{#r_ScopedXMLNodeGetChildNodeIterator__table_brm_x2p_1r}  

    var xmlString = "<test>" +
                    "  <one>" +
                    "    <two att=\"xxx\">abcd1234</two>" +
                    "    <three boo=\"yah\" att=\"yyy\">1234abcd</three>" +
                    "    <two>another</two>" +
                    "  </one>" +
                    "  <number>1234</number>" +
                    "</test>";
    var xmlDoc = new XMLDocument2();
    xmlDoc.parseXML(xmlString);
    var node = xmlDoc.getNode('//one');
    var iter= node.getChildNodeIterator();
    gs.info(iter.hasNext());

## スコープ指定の XMLNode - getFirstChild() {#ariaid-title5}

ノードの最初の子ノードを取得します。
{#r_ScopedXMLNodeGetFirstChild__table_wbb_wfc_2r__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 7. パラメーター]

{#r_ScopedXMLNodeGetFirstChild__table_wbb_wfc_2r} {#r_ScopedXMLNodeGetFirstChild__table_ecg_ccp_1r__entry__2}

| タイプ | 説明 |
|-|-|
| XMLNode | ノードの最初の子ノード。 |
[表 : 8. 返される内容]

{#r_ScopedXMLNodeGetFirstChild__table_ecg_ccp_1r}  

    var xmlString = "<test>" +
                    "<one>" +
                    "<two att=\"xxx\">abcd1234</two>" +
                    "<three boo=\"yah\" att=\"yyy\">1234abcd</three>" +
                    "<two>another</two>" +
                    "</one>" +
                    "<number>1234</number>" +
                    "</test>";
    var xmlDoc = new XMLDocument2();
    xmlDoc.parseXML(xmlString);
    var node = xmlDoc.getNode('//one');
    gs.info(node.getFirstChild());

出力：

    <two att="xxx">abcd1234</two>

## スコープ指定の XMLNode - getLastChild() {#ariaid-title6}

ノードの最後の子ノードを取得します。
{#r_ScopedXMLNodeGetLastChild__table_gw2_vfc_2r__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 9. パラメーター]

{#r_ScopedXMLNodeGetLastChild__table_gw2_vfc_2r} {#r_ScopedXMLNodeGetLastChild__table_kgc_pbp_1r__entry__2}

| タイプ | 説明 |
|-|-|
| XMLNode | ノードの最後の子。 |
[表 : 10. 返される内容]

{#r_ScopedXMLNodeGetLastChild__table_kgc_pbp_1r}  

    var xmlString = "<test>" +
                    "<one>" +
                    "<two att=\"xxx\">abcd1234</two>" +
                    "<three boo=\"yah\" att=\"yyy\">1234abcd</three>" +
                    "<two>another</two>" +
                    "</one>" +
                    "<number>1234</number>" +
                    "</test>";
    var xmlDoc = new XMLDocument2();
    xmlDoc.parseXML(xmlString);
    var node = xmlDoc.getNode('//one');
     
    gs.info(node.getLastChild());

出力：

    <two>another</two>

## スコープ指定の XMLNode - getNodeName() {#ariaid-title7}

ノードの名前を取得します。ノードの名前はノードのタイプによって決まります。ドキュメント要素ノードの名前は #document です。テキストノードの名前は #text です。要素ノードの名前は要素の名前です。
{#r_ScopedXMLNodeGetNodeName__table_oxk_vfc_2r__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 11. パラメーター]

{#r_ScopedXMLNodeGetNodeName__table_oxk_vfc_2r} {#r_ScopedXMLNodeGetNodeName__table_ftf_1dp_1r__entry__2}

| タイプ | 説明 |
|-|-|
| 文字列 | ノードの名前。 |
[表 : 12. 返される内容]

{#r_ScopedXMLNodeGetNodeName__table_ftf_1dp_1r}  

    var xmlString = "<test>" +
                    "  <one>" +
                    "    <two att=\"xxx\">abcd1234</two>" +
                    "    <three boo=\"yah\" att=\"yyy\">1234abcd</three>" +
                    "    <two>another</two>" +
                    "  </one>" +
                    "  <number>1234</number>" +
                    "</test>";
    var xmlDoc = new XMLDocument2();
    xmlDoc.parseXML(xmlString);
    var node = xmlDoc.getNode('//two');
    gs.info(node.getNodeName());

出力:

    two

## スコープ指定の XMLNode - getNodeValue() {#ariaid-title8}

ノードの値を取得します。ノードの値はノードのタイプによって決まります。要素ノードとドキュメント要素ノードは null を返します。
{#r_ScopedXMLNodeGetNodeValue__table_jbm_tfc_2r__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 13. パラメーター]

{#r_ScopedXMLNodeGetNodeValue__table_jbm_tfc_2r} {#r_ScopedXMLNodeGetNodeValue__table_djn_4cp_1r__entry__2}

| タイプ | 説明 |
|-|-|
| 文字列 | ノードの値。 |
[表 : 14. 返される内容]

{#r_ScopedXMLNodeGetNodeValue__table_djn_4cp_1r}  

    var xmlString = "<test>" +
                    "  <one>" +
                    "    <two att=\"xxx\">abcd1234</two>" +
                    "    <three boo=\"yah\" att=\"yyy\">1234abcd</three>" +
                    "    <two>another</two>" +
                    "  </one>" +
                    "  <number>1234</number>" +
                    "</test>";
    var xmlDoc = new XMLDocument2();
    xmlDoc.parseXML(xmlString);
    var node = xmlDoc.getNode('//two');
    gs.info(node.getNodeValue());

出力:

    null

## スコープ指定の XMLNode - getTextContent() {#ariaid-title9}

現在のノードのテキストコンテンツを取得します。ノードのテキストコンテンツは、ノードのすべての子テキストノードで構成されます。
{#r_ScopedXMLNodeGetTextContent__table_g21_tfc_2r__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 15. パラメーター]

{#r_ScopedXMLNodeGetTextContent__table_g21_tfc_2r} {#r_ScopedXMLNodeGetTextContent__table_igr_z1p_1r__entry__2}

| タイプ | 説明 |
|-|-|
| 文字列 | 現在のノードのテキストコンテンツ。 |
[表 : 16. 返される内容]

{#r_ScopedXMLNodeGetTextContent__table_igr_z1p_1r}  

    var xmlString = "<test>" +
                    "  <one>" +
                    "    <two att=\"xxx\">abcd1234</two>" +
                    "    <three boo=\"yah\" att=\"yyy\">1234abcd</three>" +
                    "    <two>another</two>" +
                    "  </one>" +
                    "  <number>1234</number>" +
                    "</test>";
    var xmldoc = new XMLDocument2();
    xmldoc.parseXML(xmlString);
    var node = xmldoc.getNode('//one/two');
    gs.info(node.getTextContent());

出力:

    abcd1234

## スコープ指定の XMLNode - hasAttribute(文字列 attribute) {#ariaid-title10}

ノードが指定された属性を持っているかどうかを判断します。
{#r_ScopedXMLNodeHasAttribute_String__table_art_mdp_1r__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| attribute | 文字列 | 確認する属性の名前。 |
[表 : 17. パラメーター]

{#r_ScopedXMLNodeHasAttribute_String__table_art_mdp_1r} {#r_ScopedXMLNodeHasAttribute_String__table_crt_mdp_1r__entry__2}

| タイプ | 説明 |
|-|-|
| ブーリアン | ノードがその属性を持つ場合は true。 |
[表 : 18. 返される内容]

{#r_ScopedXMLNodeHasAttribute_String__table_crt_mdp_1r}  

    var xmlString = "<test>" +
                    "  <one>" +
                    "    <two att=\"xxx\">abcd1234</two>" +
                    "    <three boo=\"yah\" att=\"yyy\">1234abcd</three>" +
                    "    <two>another</two>" +
                    "  </one>" +
                    "  <number>1234</number>" +
                    "</test>";
    var xmlDoc = new XMLDocument2();
    xmlDoc.parseXML(xmlString);
    var node = xmlDoc.getNode('//two');
    gs.info(node.hasAttribute('att'));

出力:

    true

## スコープ付き XMLNode - isCDATANode() {#ariaid-title11}

CDATA ノードを別個のノードとして保持するかどうかを示します。
[スコープ付き XMLDocument2 - setEnableCDATAReporting(ブール enable)](https://servicenow-prod.fluidtopics.net/BZgu_8cumIWb86I6Btksmw#SXMLD_setEnableCDATAReporting_B "解析後にノードを CDATA として扱うか、通常のテキストとして扱うかを設定します。CDATAレポートはデフォルトで無効になっています。") メソッドを使用して、CDATA ノードが保持され、テキストとして処理されないようにします。
{#SXMLN_isCDATANode__table_bk3_rjy_3x__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 19. パラメーター]

{#SXMLN_isCDATANode__table_bk3_rjy_3x} {#SXMLN_isCDATANode__table_ck3_rjy_3x__entry__2}

| タイプ | 説明 |
|-|-|
| ブール | クエリされたノードが CDATA かプレーンテキストかを示すフラグ。 有効な値： * true:照会されたノードはCDATAです。 * false:クエリされたノードはプレーンテキストです。 {#SXMLN_isCDATANode__ul_fj4_svh_lzb} |
[表 : 20. 返される内容]

{#SXMLN_isCDATANode__table_ck3_rjy_3x}  
次の例は、 [スコープ付き XMLDocument2 - setEnableCDATAReporting(ブール enable)](https://servicenow-prod.fluidtopics.net/BZgu_8cumIWb86I6Btksmw#SXMLD_setEnableCDATAReporting_B "解析後にノードを CDATA として扱うか、通常のテキストとして扱うかを設定します。CDATAレポートはデフォルトで無効になっています。") を使用して CDATA レポートを有効にして XML 文字列を解析する方法を示しています。このコードでは 、isCDATANode() を使用して、XML 文字列で照会された最初のノードが CDATA ノードであることを示しています。

    var xmlString = "<test>" +
      "  <one>" +
      "    <two att=\"xxx\">abcd1234</two>" +
      "    <three boo=\"yah\" att=\"yyy\">1234abcd</three>"+
      "    <four><![CDATA[another]]>element</four>" +
      "  </one>" +
      "  <number>1234</number>" +
      "</test>";
    var xmlDoc = new XMLDocument2();
    xmlDoc.setEnableCDATAReporting(true); // Enables CDATA reporting
    xmlDoc.parseXML(xmlString);
    var content = xmlDoc.getFirstNode('/test/one/four');
    gs.info(content.getFirstChild().isCDATANode());

出力:

    true

## スコープ指定の XMLNode - toString() {#ariaid-title12}

現在のノードの文字列値を返します。
{#r_ScopedXMLNodeToString__table_jjy_pfc_2r__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 21. パラメーター]

{#r_ScopedXMLNodeToString__table_jjy_pfc_2r} {#r_ScopedXMLNodeToString__table_bqm_nfp_1r__entry__2}

| タイプ | 説明 |
|-|-|
| 文字列 | 現在のノードの文字列値。 |
[表 : 22. 返される内容]

{#r_ScopedXMLNodeToString__table_bqm_nfp_1r}  

    var xmlString = "<test>" +
                    "  <one>" +
                    "    <two att=\"xxx\">abcd1234</two>" +
                    "    <three boo=\"yah\" att=\"yyy\">1234abcd</three>" +
                    "    <two>another</two>" +
                    "  </one>" +
                    "  <number>1234</number>" +
                    "</test>";
    var xmlDoc = new XMLDocument2();
    xmlDoc.parseXML(xmlString);
    var node = xmlDoc.getNode('//one');
    gs.info(node.toString());

出力：出力に改行が追加されました。

    <one>    
    <two att="xxx">abcd1234</two>    
    <three att="yyy" boo="yah">1234abcd</three>    
    <two>another</two>  
    </one>


