XMLNodeIterator - com escopo
A API XMLNodeIterator fornece métodos para iterar por meio de um nó de um documento XML.
Não há construtores para criar uma instância autônoma de um objeto XMLNodeIterator. Para criar um objeto XMLNodeIterator, use o método getChildNodeIterator() do objeto XMLNode.
XMLNodeIterator – hasNext()
Retorna verdadeiro se a iteração tiver mais elementos.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Booliano | Verdadeiro se a iteração tiver mais elementos. |
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()
Obtém o próximo elemento na iteração. O elemento retornado pode ser um nó #text para os espaços/guias se o XML estiver "formatado corretamente".
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| XMLNode | O próximo elemento na iteração. |
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());
}
Saída:
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: