XMLNode - com escopo, global
A API XMLNode com escopo permite consultar valores de nós XML. XMLNodes são extraídos de objetos XMLDocument2, que contêm cadeias de caracteres XML.
Não há construtores para criar uma instância autônoma de um objeto XMLNode. Em vez disso, use o método createElement() de XMLDocument2, que adiciona um nó a um documento existente.
XMLNode com escopo - getAttribute(cadeia de caracteres "attribute")
Obtém o valor do atributo.
| Nome | Tipo | Descrição |
|---|---|---|
| attribute | Cadeia de caracteres | Nome do atributo. |
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | O valor do atributo. |
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'));
Saída:
xxx
XMLNode com escopo - getAttributes()
Retorna um objeto que contém os atributos do nó como propriedades com valores.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Objeto | Contém pares de nome-valor em que o nome é o atributo e o valor é o valor do atributo. |
XMLNode com escopo - getChildNodeIterator()
Obtém um objeto XMLNodeIterator que pode ser usado para percorrer a lista de nós secundários.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| XMLNodeIterator | O objeto iterador de nó. |
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());
XMLNode com escopo - getFirstChild()
Obtém o primeiro nó secundário do nó.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| XMLNode | O primeiro nó secundário do nó. |
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());
<two att="xxx">abcd1234</two>XMLNode com escopo - getLastChild()
Obtém o último nó secundário do nó.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| XMLNode | O último secundário do nó. |
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());
<two>another</two>XMLNode com escopo - getNodeName()
Obtém o nome do nó. O nome de um nó é determinado pelo tipo de nó. O nome de um nó de elemento de documento é #document. O nome de um nó de texto é #text. O nome de um nó de elemento é o nome do elemento.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | O nome do nó. |
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());
Saída:
two
XMLNode com escopo - getNodeValue()
Obtém o valor do nó. O valor de um nó é determinado pelo tipo de nó. Os nós Element e document-element retornam nulo.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | O valor do nó. |
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());
Saída:
null
XMLNode com escopo - getTextContent()
Obtém o conteúdo de texto do nó atual. O conteúdo de texto de um nó consiste em todos os nós de texto secundários do nó
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | O conteúdo de texto do nó atual. |
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());
Saída:
abcd1234
XMLNode com escopo - hasAttribute(cadeia de caracteres "attribute")
Determina se o nó tem o atributo especificado.
| Nome | Tipo | Descrição |
|---|---|---|
| attribute | Cadeia de caracteres | O nome do atributo a ser verificado. |
| Tipo | Descrição |
|---|---|
| Booliano | Verdadeiro se o nó tiver o atributo. |
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'));
Saída:
true
XMLNode com escopo - isCDATANode()
Indica se o nó CDATA é preservado como um nó separado.
Use o método XMLDocument2 com escopo - setEnableCDATAReporting(Boolean enable) para garantir que os nós CDATA sejam preservados e não tratados como texto.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Booliano | Sinalizador que indica se um nó consultado é CDATA ou texto sem formatação. Valores válidos:
|
O exemplo a seguir mostra como analisar uma cadeia de caracteres XML com o relatório CDATA habilitado usando XMLDocument2 com escopo - setEnableCDATAReporting(Boolean enable). O código usa isCDATANode() para mostrar que o primeiro nó consultado na cadeia de caracteres XML é um nó 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());
Saída:
true
XMLNode com escopo - toString()
Retorna o valor da cadeia de caracteres do nó atual.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | O valor da cadeia de caracteres do nó atual. |
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());
<one>
<two att="xxx">abcd1234</two>
<three att="yyy" boo="yah">1234abcd</three>
<two>another</two>
</one>