XMLNode - スコープ対象、グローバル
XMLNode API は、XML ノードから値をクエリするメソッドを提供します。XMLNode は、XML 文字列を含む XMLDocument2 オブジェクトから抽出されます。
XMLNode オブジェクトのスタンドアロンインスタンスを作成するためのコンストラクターはありません。代わりに、既存のドキュメントにノードを追加する XMLDocument2 の createElement() メソッドを使用します。
スコープ対象 XMLNode:getAttribute(文字列属性)
属性の値を取得します。
| 名前 | タイプ | 説明 |
|---|---|---|
| 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 | 文字列 | チェックする属性の名前。 |
| タイプ | 説明 |
|---|---|
| ブーリアン | ノードに属性がある場合は 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(ブール値の有効化) メソッドを使用して、CDATA ノードが保持され、テキストとして処理されないようにします。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| ブーリアン | クエリされたノードが CDATA かプレーンテキストかを示すフラグ。 有効な値:
|
次の例は、 スコープ付き XMLDocument2 - setEnableCDATAReporting(ブール値の有効化) を使用して 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>