XML DOM - Ottieni Node

In questo capitolo studieremo come ottenere il valore del nodo di un oggetto DOM XML. I documenti XML hanno una gerarchia di unità informative chiamate nodi. L'oggetto Node ha una proprietà nodeValue , che restituisce il valore dell'elemento.

Nelle sezioni seguenti, discuteremo:

  • Ottenere il valore del nodo di un elemento

  • Ottenere il valore dell'attributo di un nodo

Il node.xml utilizzato in tutti i seguenti esempi è il seguente:

<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>

Ottieni valore nodo

Il metodo getElementsByTagName () restituisce una NodeList di tutti gli elementi nell'ordine del documento con un dato nome di tag.

Esempio

Il seguente esempio (getnode_example.htm) analizza un documento XML ( node.xml ) in un oggetto DOM XML ed estrae il valore del nodo del nodo figlio Firstname (indice a 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>

Esecuzione

Salva questo file come getnode_example.htm nel percorso del server (questo file e node.xml dovrebbero trovarsi sullo stesso percorso nel tuo server). Nell'output, otteniamo il valore del nodo come Tanmay .

Ottieni valore attributo

Gli attributi fanno parte degli elementi del nodo XML. Un elemento nodo può avere più attributi univoci. L'attributo fornisce ulteriori informazioni sugli elementi del nodo XML. Per essere più precisi, definiscono le proprietà degli elementi del nodo. Un attributo XML è sempre una coppia nome-valore. Questo valore dell'attributo è chiamato nodo dell'attributo .

Il metodo getAttribute () recupera un valore di attributo in base al nome dell'elemento.

Esempio

Il seguente esempio (get_attribute_example.htm) analizza un documento XML ( node.xml ) in un oggetto DOM XML ed estrae il valore dell'attributo della categoria Employee (index at 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>

Esecuzione

Salva questo file come get_attribute_example.htm nel percorso del server (questo file e node.xml dovrebbero trovarsi sullo stesso percorso nel tuo server). Nell'output, otteniamo il valore dell'attributo come Management .