2010-01-22 7 views
0

Considérez ceci xml comme: -Confusion sur les nœuds enfants de documenElement en XML DOM

book.xml

<bookstore> 
    <book category="cooking"> 
     <title lang="en">Everyday Italian</title> 
     <author>Giada De Laurentiis</author> 
     <year>2005</year> 
     <price>30.00</price> 
    </book> 
    <book category="children"> 
     <title lang="en">Harry Potter</title> 
     <author>J K. Rowling</author> 
     <year>2005</year> 
     <price>29.99</price> 
    </book> 
    <book category="web"> 
     <title lang="en">XQuery Kick Start</title> 
     <author>James McGovern</author> 
     <author>Per Bothner</author> 
     <author>Kurt Cagle</author> 
     <author>James Linn</author> 
     <author>Vaidyanathan Nagarajan</author> 
     <year>2003</year> 
     <price>49.99</price> 
    </book> 
    <book category="web" cover="paperback"> 
     <title lang="en">Learning XML</title> 
     <author>Erik T. Ray</author> 
     <year>2003</year> 
     <price>39.95</price> 
    </book> 
</bookstore> 

Maintenant, je reçois un objet XMLDOM à utiliser en JavaScript avec Firefox XML Parser utilisant XMLHttpRequest.

Dites le DOM XML est stocké dans la variable

<script type="text/javascript"> 
xmlDoc=loadXMLDoc("books.xml"); 

x=xmlDoc.documentElement.childNodes; 

for (i=0;i<x.length;i++) 
    { 
     document.write(x[i].nodeName); 
     document.write("<br />"); 
    } 
</script> 

sorties: -

#text 
book 
#text 
book 
#text 
book 
#text 
book 
#text 

Un total de 9 nœuds enfants. Comment venir ? Je vois que <bookstore> a seulement 4 nœuds enfants comme <book>.

S'il vous plaît aidez-moi à comprendre cela.

Merci. Aiwee

Répondre

3

Les nœuds "#text" contiennent les espaces entre les nœuds "book".

+1

Salut, L'espace blanc ... est logique. Juste compté en utilisant l'approche des espaces, je pense que Newline est également inclus. Droite ? Est-ce dû au navigateur Firefox? Et seulement pour les navigateurs ou il s'étend aussi aux bibliothèques d'analyse XML. Aiwee – cpp11dev

Questions connexes