---
sourceDocument: Referência de API do Xanadu
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/pt-BR/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - pt-BR

ft:publication_title :

    - Referência de API do Xanadu

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# XMLNode - com escopo, global

# XMLNode - com escopo, global {#ariaid-title1}

* Versão de lançamento: Xanadu
* 
* Atualizado 1 de ago. de 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 4 min. de leitura

A API XMLNode fornece métodos para 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](https://servicenow-prod.fluidtopics.net/vPxhwdfQcYKu295FRT~wIA#c_XMLDocument2ScopedAPI "A API XMLDocument2 é um wrapper de objeto JavaScript para analisar e extrair dados XML de uma cadeia de caracteres XML."), que adiciona um nó a um documento existente.

## XMLNode com escopo - getAttribute(String attribute) {#ariaid-title2}

Obtém o valor do atributo.
{#r_ScopedXMLNodeGetAttribute_String__table_ir2_12p_1r__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| attribute | Cadeia de caracteres | Nome do atributo. |
[Tabela 1. Parâmetros]

{#r_ScopedXMLNodeGetAttribute_String__table_ir2_12p_1r} {#r_ScopedXMLNodeGetAttribute_String__table_kr2_12p_1r__entry__2}

| Tipo | Descrição |
|-|-|
| Cadeia de caracteres | O valor do atributo. |
[Tabela 2. Retorna]

{#r_ScopedXMLNodeGetAttribute_String__table_kr2_12p_1r}  

    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() {#ariaid-title3}

Retorna um objeto que contém os atributos do nó como propriedades com valores.
{#r_SXMLN_getAttributes__table_bk3_rjy_3x__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| Nenhum |   |   |
[Tabela 3. Parâmetros]

{#r_SXMLN_getAttributes__table_bk3_rjy_3x} {#r_SXMLN_getAttributes__table_ck3_rjy_3x__entry__2}

| Tipo | Descrição |
|-|-|
| Objeto | Contém pares de nome-valor em que o nome é o atributo e o valor é o valor do atributo. |
[Tabela 4. Retorna]

{#r_SXMLN_getAttributes__table_ck3_rjy_3x}

## XMLNode com escopo - getChildNodeIterator() {#ariaid-title4}

Obtém um objeto XMLNodeIterator que pode ser usado para percorrer a lista de nós secundários.
{#r_ScopedXMLNodeGetChildNodeIterator__table_ng3_xfc_2r__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| Nenhum |   |   |
[Tabela 5. Parâmetros]

{#r_ScopedXMLNodeGetChildNodeIterator__table_ng3_xfc_2r} {#r_ScopedXMLNodeGetChildNodeIterator__table_brm_x2p_1r__entry__2}

| Tipo | Descrição |
|-|-|
| XMLNodeIterator | O objeto do iterador de nó. |
[Tabela 6. Retorna]

{#r_ScopedXMLNodeGetChildNodeIterator__table_brm_x2p_1r}  

    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() {#ariaid-title5}

Obtém o primeiro nó secundário do nó.
{#r_ScopedXMLNodeGetFirstChild__table_wbb_wfc_2r__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| Nenhum |   |   |
[Tabela 7. Parâmetros]

{#r_ScopedXMLNodeGetFirstChild__table_wbb_wfc_2r} {#r_ScopedXMLNodeGetFirstChild__table_ecg_ccp_1r__entry__2}

| Tipo | Descrição |
|-|-|
| XMLNode | O primeiro nó secundário do nó. |
[Tabela 8. Retorna]

{#r_ScopedXMLNodeGetFirstChild__table_ecg_ccp_1r}  

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

Saída:

    <two att="xxx">abcd1234</two>

## XMLNode com escopo - getLastChild() {#ariaid-title6}

Obtém o último nó secundário do nó.
{#r_ScopedXMLNodeGetLastChild__table_gw2_vfc_2r__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| Nenhum |   |   |
[Tabela 9. Parâmetros]

{#r_ScopedXMLNodeGetLastChild__table_gw2_vfc_2r} {#r_ScopedXMLNodeGetLastChild__table_kgc_pbp_1r__entry__2}

| Tipo | Descrição |
|-|-|
| XMLNode | O último secundário do nó. |
[Tabela 10. Retorna]

{#r_ScopedXMLNodeGetLastChild__table_kgc_pbp_1r}  

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

Saída:

    <two>another</two>

## XMLNode com escopo - getNodeName() {#ariaid-title7}

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.
{#r_ScopedXMLNodeGetNodeName__table_oxk_vfc_2r__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| Nenhum |   |   |
[Tabela 11. Parâmetros]

{#r_ScopedXMLNodeGetNodeName__table_oxk_vfc_2r} {#r_ScopedXMLNodeGetNodeName__table_ftf_1dp_1r__entry__2}

| Tipo | Descrição |
|-|-|
| Cadeia de caracteres | O nome do nó. |
[Tabela 12. Retorna]

{#r_ScopedXMLNodeGetNodeName__table_ftf_1dp_1r}  

    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() {#ariaid-title8}

Obtém o valor do nó. O valor de um nó é determinado pelo tipo de nó. Os nós de elemento e elemento de documento retornam nulo.
{#r_ScopedXMLNodeGetNodeValue__table_jbm_tfc_2r__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| Nenhum |   |   |
[Tabela 13. Parâmetros]

{#r_ScopedXMLNodeGetNodeValue__table_jbm_tfc_2r} {#r_ScopedXMLNodeGetNodeValue__table_djn_4cp_1r__entry__2}

| Tipo | Descrição |
|-|-|
| Cadeia de caracteres | O valor do nó. |
[Tabela 14. Retorna]

{#r_ScopedXMLNodeGetNodeValue__table_djn_4cp_1r}  

    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() {#ariaid-title9}

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ó
{#r_ScopedXMLNodeGetTextContent__table_g21_tfc_2r__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| Nenhum |   |   |
[Tabela 15. Parâmetros]

{#r_ScopedXMLNodeGetTextContent__table_g21_tfc_2r} {#r_ScopedXMLNodeGetTextContent__table_igr_z1p_1r__entry__2}

| Tipo | Descrição |
|-|-|
| Cadeia de caracteres | O conteúdo de texto do nó atual. |
[Tabela 16. Retorna]

{#r_ScopedXMLNodeGetTextContent__table_igr_z1p_1r}  

    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 (atributo de cadeia de caracteres) {#ariaid-title10}

Determina se o nó tem o atributo especificado.
{#r_ScopedXMLNodeHasAttribute_String__table_art_mdp_1r__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| attribute | Cadeia de caracteres | O nome do atributo a ser verificado. |
[Tabela 17. Parâmetros]

{#r_ScopedXMLNodeHasAttribute_String__table_art_mdp_1r} {#r_ScopedXMLNodeHasAttribute_String__table_crt_mdp_1r__entry__2}

| Tipo | Descrição |
|-|-|
| Booliano | Verdadeiro se o nó tiver o atributo. |
[Tabela 18. Retorna]

{#r_ScopedXMLNodeHasAttribute_String__table_crt_mdp_1r}  

    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() {#ariaid-title11}

Indica se o nó CDATA é preservado como um nó separado.
Use o método [XMLDocument2 com escopo - setEnableCDATAReporting (booleano habilitado)](https://servicenow-prod.fluidtopics.net/vPxhwdfQcYKu295FRT~wIA#SXMLD_setEnableCDATAReporting_B "Define se os nós são tratados como CDATA ou texto normal após a análise. A emissão de relatórios de CDATA está desativada por padrão.") para garantir que os nós CDATA sejam preservados e não tratados como texto.
{#SXMLN_isCDATANode__table_bk3_rjy_3x__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| Nenhum |   |   |
[Tabela 19. Parâmetros]

{#SXMLN_isCDATANode__table_bk3_rjy_3x} {#SXMLN_isCDATANode__table_ck3_rjy_3x__entry__2}

| Tipo | Descrição |
|-|-|
| Booliano | Sinalizador que indica se um nó consultado é CDATA ou texto sem formatação. Valores válidos: * verdadeiro: o nó consultado é CDATA. * falso: o nó consultado é texto sem formatação. {#SXMLN_isCDATANode__ul_fj4_svh_lzb} |
[Tabela 20. Retorna]

{#SXMLN_isCDATANode__table_ck3_rjy_3x}  
O exemplo a seguir mostra como analisar uma cadeia de caracteres XML com a emissão de relatórios de CDATA habilitada usando [XMLDocument2 com escopo - setEnableCDATAReporting (booleano habilitado)](https://servicenow-prod.fluidtopics.net/vPxhwdfQcYKu295FRT~wIA#SXMLD_setEnableCDATAReporting_B "Define se os nós são tratados como CDATA ou texto normal após a análise. A emissão de relatórios de CDATA está desativada por padrão."). 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() {#ariaid-title12}

Retorna o valor da cadeia de caracteres do nó atual.
{#r_ScopedXMLNodeToString__table_jjy_pfc_2r__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| Nenhum |   |   |
[Tabela 21. Parâmetros]

{#r_ScopedXMLNodeToString__table_jjy_pfc_2r} {#r_ScopedXMLNodeToString__table_bqm_nfp_1r__entry__2}

| Tipo | Descrição |
|-|-|
| Cadeia de caracteres | O valor da cadeia de caracteres do nó atual. |
[Tabela 22. Retorna]

{#r_ScopedXMLNodeToString__table_bqm_nfp_1r}  

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

Saída: quebras de linha foram adicionadas à saída.

    <one>    
    <two att="xxx">abcd1234</two>    
    <three att="yyy" boo="yah">1234abcd</three>    
    <two>another</two>  
    </one>


