XMLNodeIterator - スコープ指定
XMLNodeIterator API は、XML ドキュメントのノードを反復処理するメソッドを提供します。
XMLNodeIterator オブジェクトのスタンドアロン インスタンスを作成するためのコンストラクターはありません。XMLNodeIterator オブジェクトを作成するには、XMLNode オブジェクトの getChildNodeIterator() メソッドを使用します。
XMLNodeIterator:hasNext()
反復により多くの要素がある場合は true を返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| ブール | 反復にさらに多くの要素がある場合は 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('//one');
var iter= node.getChildNodeIterator();
gs.info(iter.hasNext());
XMLNodeIterator - next()
反復の次の要素を取得します。XML が「きれいに書式設定されている」場合、返される要素はスペース/タブの #text ノードである可能性があります。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| 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');
var iter= node.getChildNodeIterator();
while(iter.hasNext()) {
var n = iter.next();
gs.info('Node name: ' + n.getNodeName());
gs.info('Node value: ' + n.getNodeValue());
}
出力:
Node name: #text
Node value:
Node name: two
Node value: null
Node name: #text
Node value:
Node name: three
Node value: null
Node name: #text
Node value:
Node name: two
Node value: null
Node name: #text
Node value: