XMLNode - Scoped, Global

  • 릴리스 버전: Australia
  • 업데이트 날짜 2026년 03월 12일
  • 소요 시간: 12분
  • The XMLNode API provides methods to query values from XML nodes. XMLNodes are extracted from XMLDocument2 objects, which contain XML strings.

    There are no constructors for creating a stand alone instance of an XMLNode object. Instead, use the createElement() method of XMLDocument2, which adds a node to an existing document.

    Scoped XMLNode - getAttribute(String attribute)

    Gets the value of the attribute.

    표 1. Parameters
    Name Type Description
    attribute String Name of the attribute.
    표 2. Returns
    Type Description
    String The attribute's value.
    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'));

    Output:

    xxx

    Scoped XMLNode - getAttributes()

    Returns an object containing the node's attributes as properties with values.

    표 3. Parameters
    Name Type Description
    None
    표 4. Returns
    Type Description
    Object Contains name-value pairs where the name is the attribute and the value is the attribute's value.

    Scoped XMLNode - getChildNodeIterator()

    Gets a XMLNodeIterator object that can be used to walk through the list of child nodes.

    표 5. Parameters
    Name Type Description
    None
    표 6. Returns
    Type Description
    XMLNodeIterator The node iterator object.
    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 XMLNode - getFirstChild()

    Gets the node's first child node.

    표 7. Parameters
    Name Type Description
    None
    표 8. Returns
    Type Description
    XMLNode The node's first child node.
    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());
    Output:
    <two att="xxx">abcd1234</two>

    Scoped XMLNode - getLastChild()

    Gets the node's last child node.

    표 9. Parameters
    Name Type Description
    None
    표 10. Returns
    Type Description
    XMLNode The node's last child.
    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());
    Output:
    <two>another</two>

    Scoped XMLNode - getNodeName()

    Gets the node's name. A node's name is determined by the node type. A document-element node's name is #document. A text node's name is #text. An element node's name is the element's name.

    표 11. Parameters
    Name Type Description
    None
    표 12. Returns
    Type Description
    String The node's name.
    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());

    Output:

    two

    Scoped XMLNode - getNodeValue()

    Gets the node's value. A node's value is determined by the node type. Element and document-element nodes return null.

    표 13. Parameters
    Name Type Description
    None
    표 14. Returns
    Type Description
    String The node's value.
    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());

    Output:

    null

    Scoped XMLNode - getTextContent()

    Gets the text content of the current node. The text content of a node consists of all the node's child text nodes

    표 15. Parameters
    Name Type Description
    None
    표 16. Returns
    Type Description
    String The text content of the current node.
    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());

    Output:

    abcd1234

    Scoped XMLNode - hasAttribute(String attribute)

    Determines if the node has the specified attribute.

    표 17. Parameters
    Name Type Description
    attribute String The name of the attribute to check.
    표 18. Returns
    Type Description
    Boolean True if the node has the attribute.
    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'));

    Output:

    true

    Scoped XMLNode - isCDATANode()

    Indicates whether the CDATA node is preserved as a separate node.

    Use the Scoped XMLDocument2 - setEnableCDATAReporting(Boolean enable) method to ensure that CDATA nodes are preserved and not handled as text.

    표 19. Parameters
    Name Type Description
    None
    표 20. Returns
    Type Description
    Boolean Flag that indicates whether a queried node is CDATA or plain text.
    Valid values:
    • true: The node queried is CDATA.
    • false: The node queried is plain text.

    The following example shows how to parse an XML string with CDATA reporting enabled using Scoped XMLDocument2 - setEnableCDATAReporting(Boolean enable). The code uses isCDATANode() to show that the first node queried in the XML string is a CDATA node.

    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());

    Output:

    true

    Scoped XMLNode - toString()

    Returns the string value of the current node.

    표 21. Parameters
    Name Type Description
    None
    표 22. Returns
    Type Description
    String The string value of the current node.
    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());
    Output: Line breaks were added to the output.
    <one>    
    <two att="xxx">abcd1234</two>    
    <three att="yyy" boo="yah">1234abcd</three>    
    <two>another</two>  
    </one>