Ultimele tutoriale de dezvoltare web
 

XML DOM - Accesarea Nodurile


Cu DOM, puteți accesa fiecare nod într-un document XML.


Încearcă-l singur - Exemple

Exemplele de mai jos folosesc fișierul XML books.xml .

Accesați un nod folosind numărul său de index într - o listă nod
Utilizați getElementsByTagName() metoda pentru a obține al treilea <title> element în "books.xml"

Buclă prin noduri folosind proprietatea de lungime
Utilizați proprietatea lungime bucla prin toate <title> elemente în "books.xml"

A se vedea tipul de nod al unui element
Utilizați proprietatea nodeType pentru a obține tipul de nod al elementului rădăcină în "books.xml" .

Buclă prin noduri elementului
Utilizați proprietatea nodeType numai de proces nodurile element din "books.xml" .

Buclă prin nodurile elementului folosind relații de nod
Utilizați proprietatea nodeType și proprietatea nextSibling pentru a procesa nodurile element din "books.xml" .

×

Antet


accesarea Nodurile

Puteți accesa un nod în trei moduri:

1. Prin utilizarea getElementsByTagName() metoda

2. legând prin (traversing) copac noduri.

3. Prin navigarea copac nod, folosind relațiile de nod.


getElementsByTagName() Metoda

getElementsByTagName() returnează toate elementele cu un nume de etichetă specificată.

Sintaxă

Exemplu

Următorul exemplu returnează toate <title> elemente sub elementul x:

x.getElementsByTagName("title");

Rețineți că exemplul de mai sus doar returnează <title> elemente sub nodul x. Pentru a reveni toate <title> elemente în utilizarea documentului XML:

xmlDoc.getElementsByTagName("title");

în cazul în care xmlDoc este documentul în sine (document node) de (document node) .


DOM Lista Node

getElementsByTagName() Metoda returnează o listă de nod. O listă nod este o matrice de noduri.

x = xmlDoc.getElementsByTagName("title");

<title> elemente x pot fi accesate prin numărul de index. Pentru a avea acces la al treilea <title> puteți scrie ::

y = x[2];

Note: Indicele începe de la 0.

Vei afla mai multe despre listele de nod într-un capitol ulterior al acestui tutorial.


DOM Nod Lista Lungime

Proprietatea Lungimea definește lungimea unei liste nod (the number of nodes) .

Puteți, bucla printr-o listă de nod utilizând proprietatea de lungime:

Exemplu

var x = xmlDoc.getElementsByTagName("title");

for (i = 0; i <x.length; i++) {
  // do something for each node
  }
Încearcă - l singur »

Tipuri de noduri

documentElement Proprietatea documentului XML este nodul rădăcină.

nodeName proprietate a unui nod este numele nodului.

nodeType proprietate a unui nod este tipul de nod.

Vei afla mai multe despre proprietățile de nod în următorul capitol al acestui tutorial.

Încearcă - l singur


dipozitive Nodurile

Codul de mai jos bucle prin nodurile copil, care sunt, de asemenea, noduri de elemente, al nodului rădăcină:

Exemplu

txt = "";
x = xmlDoc.documentElement.childNodes;

for (i = 0; i <x.length; i++) {
  // Process only element nodes (type 1)
  if (x[i].nodeType == 1) {
    txt += x[i].nodeName + "<br>";
  }
}
Încearcă - l singur »

Exemplu explicat:

  1. Să presupunem că ați încărcat „ books.xml “ în xmlDoc
  2. Ia copilul nodurile elementului rădăcină (xmlDoc)
  3. Pentru fiecare nod copil, verificați tipul de nod. Dacă tipul de nod este "1" este un nod element de
  4. Ieșire numele nodului în cazul în care acesta este un nod element de

Relațiile nod de navigatie

Codul de mai jos navighează copac nod folosind relațiile de nod:

Exemplu

x = xmlDoc.getElementsByTagName("book")[0];
xlen = x.childNodes.length;
y = x.firstChild;

txt = "";
for (i = 0; i <xlen; i++) {
  // Process only element nodes (type 1)
  if (y.nodeType == 1) {
    txt += y.nodeName + "<br>";
  }
  y = y.nextSibling;
}
Încearcă - l singur »

Exemplu explicat:

  1. Să presupunem că ați încărcat „ books.xml “ în xmlDoc
  2. Ia-nodurile copil ale primului element de carte
  3. Setați "y" variabila pentru a fi primul nod copil al primului element de carte
  4. Pentru fiecare nod copil (starting with the first child node "y") :
  5. Verificați tipul de nod. Dacă tipul de nod este "1" este un nod element de
  6. Ieșire numele nodului în cazul în care acesta este un nod element de
  7. Setați "y" variabila sa fie urmatorul nod frate, și a alerga prin bucla din nou