XMLNodeIterator - Inclus dans le périmètre

  • Rversion finale: Washingtondc
  • Mis à jour 1 févr. 2024
  • 1 minute de lecture
  • La classe XMLNodeIterator incluse dans le champ d’application vous permet d’itérer à travers 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 XMLNode.

    XMLNodeIterator inclus dans le champ d’application : hasNext()

    Renvoie la valeur true si l’itération comporte plus d’éléments.

    Tableau 1. Paramètres
    Nom Type Description
    Aucun
    Tableau 2. Renvoie
    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());

    Scoped XMLNodeIterator - next()

    Obtient l’élément suivant dans l’itération. L’élément retourné peut être un nœud #text pour les espaces/tabulations si XML est « assez formaté ».

    Tableau 3. Paramètres
    Nom Type Description
    Aucun
    Tableau 4. Renvoie
    Type Description
    Xmlnode 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: