XMLNodeIterator : dans le champ d’application
L’API XMLNodeIterator fournit des méthodes permettant d’itérer via un nœud d’un document XML.
Il n’existe aucun constructeur permettant de créer une instance autonome d’un objet XMLNodeIterator. Pour créer un objet XMLNodeIterator, utilisez la méthode getChildNodeIterator() de l’objet XMLNnode.
XMLNodeIterator : hasNext()
Renvoie la valeur true si l’itération comporte plus d’éléments.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Booléen | Vrai si l’itération comporte plus d’éléments. |
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()
Obtient l’élément suivant dans l’itération. L’élément renvoyé peut être un nœud #text pour les espaces/tabulations si XML est « assez formaté ».
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Code XML | L’élément suivant de l’itération. |
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());
}
Sortie :
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: