DOM XML - Obter Nó
Neste capítulo, estudaremos como obter o valor do nó de um objeto XML DOM. Os documentos XML possuem uma hierarquia de unidades de informação denominadas nós. O objeto Node possui uma propriedade nodeValue , que retorna o valor do elemento.
Nas seções a seguir, discutiremos -
Obtendo o valor do nó de um elemento
Obtendo valor de atributo de um nó
O node.xml usado em todos os exemplos a seguir é o seguinte -
<Company>
<Employee category = "Technical">
<FirstName>Tanmay</FirstName>
<LastName>Patil</LastName>
<ContactNo>1234567890</ContactNo>
<Email>[email protected]</Email>
</Employee>
<Employee category = "Non-Technical">
<FirstName>Taniya</FirstName>
<LastName>Mishra</LastName>
<ContactNo>1234667898</ContactNo>
<Email>[email protected]</Email>
</Employee>
<Employee category = "Management">
<FirstName>Tanisha</FirstName>
<LastName>Sharma</LastName>
<ContactNo>1234562350</ContactNo>
<Email>[email protected]</Email>
</Employee>
</Company>
Obter valor do nó
O método getElementsByTagName () retorna uma NodeList de todos os elementos na ordem do documento com um determinado nome de tag.
Exemplo
O exemplo a seguir (getnode_example.htm) analisa um documento XML ( node.xml ) em um objeto XML DOM e extrai o valor do nó do nó filho Firstname (índice em 0) -
<!DOCTYPE html>
<html>
<body>
<script>
if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest();
} else{
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET","/dom/node.xml",false);
xmlhttp.send();
xmlDoc = xmlhttp.responseXML;
x = xmlDoc.getElementsByTagName('FirstName')[0]
y = x.childNodes[0];
document.write(y.nodeValue);
</script>
</body>
</html>
Execução
Salve este arquivo como getnode_example.htm no caminho do servidor (este arquivo e node.xml devem estar no mesmo caminho em seu servidor). Na saída, obtemos o valor do nó como Tanmay .
Obter valor de atributo
Os atributos fazem parte dos elementos do nó XML. Um elemento de nó pode ter vários atributos exclusivos. O atributo fornece mais informações sobre os elementos do nó XML. Para ser mais preciso, eles definem propriedades dos elementos do nó. Um atributo XML é sempre um par nome-valor. Este valor do atributo é chamado de nó de atributo .
O método getAttribute () recupera um valor de atributo por nome de elemento.
Exemplo
O exemplo a seguir (get_attribute_example.htm) analisa um documento XML ( node.xml ) em um objeto XML DOM e extrai o valor do atributo da categoria Funcionário (índice em 2) -
<!DOCTYPE html>
<html>
<body>
<script>
if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest();
} else {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET","/dom/node.xml",false);
xmlhttp.send();
xmlDoc = xmlhttp.responseXML;
x = xmlDoc.getElementsByTagName('Employee')[2];
document.write(x.getAttribute('category'));
</script>
</body>
</html>
Execução
Salve este arquivo como get_attribute_example.htm no caminho do servidor (este arquivo e node.xml devem estar no mesmo caminho em seu servidor). Na saída, obtemos o valor do atributo como Gerenciamento .