XMLNode - Champ d’application, global

  • Rversion finale: Washingtondc
  • Mis à jour 1 févr. 2024
  • 4 minutes de lecture
  • L’API XMLNode incluse dans le périmètre vous permet d’interroger des valeurs à partir de nœuds XML. Les XMLNodes sont extraits des objets XMLDocument2, qui contiennent des chaînes XML.

    Il n’existe aucun constructeur permettant de créer une instance autonome d’un objet XMLNode. Utilisez plutôt la méthode createElement() de XMLDocument2, qui ajoute un nœud à un document existant.

    Nœud XML inclus dans le périmètre : getAttribute(String attribute)

    Obtient la valeur de l’attribut.

    Tableau 1. Paramètres
    Nom Type Description
    attribut Chaîne Nom de l’attribut.
    Tableau 2. Renvoie
    Type Description
    Chaîne Valeur de l’attribut.
    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'));

    Sortie :

    xxx

    Nœud XML inclus dans le périmètre : getAttributes()

    Renvoie un objet contenant les attributs du nœud sous forme de propriétés avec des valeurs.

    Tableau 3. Paramètres
    Nom Type Description
    Aucun
    Tableau 4. Renvoie
    Type Description
    Objet Contient des paires nom-valeur où le nom est l’attribut et la valeur est la valeur de l’attribut.

    Nœud XML inclus dans le périmètre : getChildNodeIterator()

    Obtient un objet XMLNodeIterator qui peut être utilisé pour parcourir la liste des nœuds enfants.

    Tableau 5. Paramètres
    Nom Type Description
    Aucun
    Tableau 6. Renvoie
    Type Description
    XMLNodeIterator L’objet itérateur de nœud.
    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());

    Nœud XML inclus dans le périmètre : getFirstChild()

    Obtient le premier nœud enfant du nœud.

    Tableau 7. Paramètres
    Nom Type Description
    Aucun
    Tableau 8. Renvoie
    Type Description
    Xmlnode Le premier nœud enfant du nœud.
    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());
    Sortie :
    <two att="xxx">abcd1234</two>

    Nœud XML inclus dans le périmètre : getLastChild()

    Obtient le dernier nœud enfant du nœud.

    Tableau 9. Paramètres
    Nom Type Description
    Aucun
    Tableau 10. Renvoie
    Type Description
    Xmlnode Dernier enfant du nœud.
    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());
    Sortie :
    <two>another</two>

    Nœud XMLode inclus dans le périmètre : getNodeName()

    Obtient le nom du nœud. Le nom d’un nœud est déterminé par le type de nœud. Le nom d’un nœud document-element est #document. Le nom d’un nœud de texte est #text. Le nom d’un nœud d’élément est le nom de l’élément.

    Tableau 11. Paramètres
    Nom Type Description
    Aucun
    Tableau 12. Renvoie
    Type Description
    Chaîne Nom du nœud.
    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());

    Sortie :

    two

    Nœud XML inclus dans le périmètre : getNodeValue()

    Obtient la valeur du nœud. La valeur d’un nœud est déterminée par le type de nœud. Les noeuds element et document-element renvoient null.

    Tableau 13. Paramètres
    Nom Type Description
    Aucun
    Tableau 14. Renvoie
    Type Description
    Chaîne Valeur du nœud.
    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());

    Sortie :

    null

    Nœud XML inclus dans le périmètre : getTextContent()

    Obtient le contenu textuel du nœud actuel. Le contenu textuel d’un nœud se compose de tous les nœuds de texte enfants du nœud

    Tableau 15. Paramètres
    Nom Type Description
    Aucun
    Tableau 16. Renvoie
    Type Description
    Chaîne Le contenu textuel du nœud actuel.
    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());

    Sortie :

    abcd1234

    Nœud XML inclus dans le périmètre : hasAttribute(String attribute)

    Détermine si le nœud possède l’attribut spécifié.

    Tableau 17. Paramètres
    Nom Type Description
    attribut Chaîne Nom de l’attribut à vérifier.
    Tableau 18. Renvoie
    Type Description
    Booléen Vrai si le nœud possède l’attribut.
    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'));

    Sortie :

    true

    Nœud XML inclus dans le périmètre - isCDATANode()

    Indique si le nœud CDATA est conservé en tant que nœud distinct.

    Utilisez cette méthode pour vous assurer que les nœuds CDATA sont préservés et ne sont pas traités comme du XMLDocument2 inclus dans le périmètre : setEnableCDATAReporting(Boolean enable) texte.

    Tableau 19. Paramètres
    Nom Type Description
    Aucun
    Tableau 20. Renvoie
    Type Description
    Booléen Marqueur indiquant si un nœud interrogé est CDATA ou texte brut.
    Valeurs valides :
    • true : le nœud interrogé est CDATA.
    • false : le nœud interrogé est du texte brut.

    L’exemple suivant montre comment analyser une chaîne XML avec la génération de rapports CDATA activée à l’aide de XMLDocument2 inclus dans le périmètre : setEnableCDATAReporting(Boolean enable). Le code utilise isCDATANode() pour montrer que le premier nœud interrogé dans la chaîne XML est un nœud 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());

    Sortie :

    true

    Champ d’application XMLNode - toString()

    Renvoie la valeur de chaîne du nœud actuel.

    Tableau 21. Paramètres
    Nom Type Description
    Aucun
    Tableau 22. Renvoie
    Type Description
    Chaîne La valeur de chaîne du nœud actuel.
    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());
    Sortie : des sauts de ligne ont été ajoutés à la sortie.
    <one>    
    <two att="xxx">abcd1234</two>    
    <three att="yyy" boo="yah">1234abcd</three>    
    <two>another</two>  
    </one>