Obtenção de Valores de Nós XML DOM

A propriedade nodeValue é usada para obter o valor de texto do nó.

O método getAttribute() retorna o valor do atributo.

Exemplo

O exemplo a seguir usa o arquivo XML books.xml.

Função loadXMLDoc()Localizado no JavaScript externo, usado para carregar o arquivo XML.

Obter o valor do elemento
Este exemplo usa getElementsByTagname() para obter o primeiro elemento <title> em "books.xml".
Obter o valor do atributo
Este exemplo usa o método getAttribute() para obter o valor do atributo "lang" do primeiro elemento <title> em "books.xml".

Obter o valor do elemento

No DOM, cada componente é um nó. Os nós de elemento não possuem valor de texto.

O texto do nó de elemento é armazenado nos nós filhos. Este nó é chamado de nó de texto.

O método para obter o texto do elemento é obter o valor do subnó (nó de texto).

Obter o valor do elemento

O método getElementsByTagName() retorna a lista de nós de todos os elementos que possuem o nome de etiqueta especificado, mantendo a ordem em que eles aparecem no documento de origem.

loadXMLDoc() Defina "books.xml" Carregar xmlDoc e buscar o primeiro elemento <title>:",

xmlDoc=loadXMLDoc("books.xml");
x = xmlDoc.getElementsByTagName("title")[0];

A propriedade childNodes retorna a lista de nós filhos. O elemento <title> tem apenas um nó filho, que é um nó de texto.

O código a seguir busca o nó de texto do elemento <title>:

x = xmlDoc.getElementsByTagName("title")[0];
y = x.childNodes[0];

A propriedade nodeValue retorna o valor de texto do nó de texto:

x = xmlDoc.getElementsByTagName("title")[0];
y = x.childNodes[0];
txt = y.nodeValue;

Resultado: txt = "Harry Potter"

TIY

Percorrer todos os elementos <title>:TIY

Obter o valor do atributo

No DOM, os atributos também são nós. Diferente dos nós de elemento, os nós de atributo possuem valor de texto.

O método para obter o valor do atributo é obter seu valor de texto.

Essa tarefa pode ser concluída usando o método getAttribute() ou a propriedade nodeValue do nó de atributo.

Obter o valor do atributo - getAttribute()

O método getAttribute() retorna o valor do atributo.

O código a seguir busca o valor do atributo "lang" do primeiro elemento <title> na string de texto:

xmlDoc=loadXMLDoc("books.xml");
txt=xmlDoc.getElementsByTagName("title")[0].getAttribute("lang");

Resultados: txt = "en"

Exemplo de explicação:

  • Ao usar loadXMLDoc() Defina "books.xmlCarregar xmlDoc
  • Defina a variável txt como o valor do atributo do primeiro nó <title>

TIY

Varre todos os elementos <book> e obtenha seus atributos "category":TIY

Obter valor do atributo - getAttributeNode()

O método getAttributeNode() retorna o nó do atributo.

O código a seguir busca o valor de texto do atributo "lang" do primeiro elemento <title>:

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0].getAttributeNode("lang");
txt=x.nodeValue;

Resultados: txt = "en"

Exemplo de explicação:

  • Ao usar loadXMLDoc() Defina "books.xmlCarregar xmlDoc
  • Obtenha o nó do atributo "lang" do primeiro nó <title>
  • Defina a variável txt como o valor do atributo

TIY

Loop through todos os elementos <book> e obtenha seus atributos "category":TIY