XMLNode - スコープ対象、グローバル
XMLNode API は、XML ノードから値を照会するメソッドを提供します。XMLNode は XML 文字列を含む XMLDocument2 オブジェクトから抽出されます。
XMLNode オブジェクトのスタンドアロンのインスタンスを作成するためのコンストラクターはありません。代わりに、XMLDocument2 の createElement() メソッドを使用して、既存のドキュメントにノードを追加します。
スコープ指定の XMLNode - getAttribute(文字列 attribute)
属性の値を取得します。
| 名前 | タイプ | 説明 |
|---|---|---|
| attribute | 文字列 | 属性の名前。 |
| タイプ | 説明 |
|---|---|
| 文字列 | 属性の値。 |
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()
値を持つプロパティとしてノードの属性を含むオブジェクトを返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| オブジェクト | 名前と値のペア (名前が属性、値はその属性の値) が含まれます。 |
スコープ指定の XMLNode - getChildNodeIterator()
子ノードのリストの確認に使用できる XMLNodeIterator オブジェクトを取得します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| XMLNodeIterator | ノードの反復子のオブジェクト。 |
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()
ノードの最初の子ノードを取得します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| XMLNode | ノードの最初の子ノード。 |
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()
ノードの最後の子ノードを取得します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| XMLNode | ノードの最後の子。 |
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()
ノードの名前を取得します。ノードの名前はノードのタイプによって決まります。ドキュメント要素ノードの名前は #document です。テキストノードの名前は #text です。要素ノードの名前は要素の名前です。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| 文字列 | ノードの名前。 |
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()
ノードの値を取得します。ノードの値はノードのタイプによって決まります。要素ノードとドキュメント要素ノードは null を返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| 文字列 | ノードの値。 |
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()
現在のノードのテキストコンテンツを取得します。ノードのテキストコンテンツは、ノードのすべての子テキストノードで構成されます。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| 文字列 | 現在のノードのテキストコンテンツ。 |
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)
ノードが指定された属性を持っているかどうかを判断します。
| 名前 | タイプ | 説明 |
|---|---|---|
| attribute | 文字列 | 確認する属性の名前。 |
| タイプ | 説明 |
|---|---|
| ブーリアン | ノードがその属性を持つ場合は true。 |
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()
CDATA ノードを別個のノードとして保持するかどうかを示します。
スコープ付き XMLDocument2 - setEnableCDATAReporting(ブール enable) メソッドを使用して、CDATA ノードが保持され、テキストとして処理されないようにします。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| ブール | クエリされたノードが CDATA かプレーンテキストかを示すフラグ。 有効な値:
|
次の例は、 スコープ付き XMLDocument2 - setEnableCDATAReporting(ブール enable) を使用して 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()
現在のノードの文字列値を返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| 文字列 | 現在のノードの文字列値。 |
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>