Propriété firstChild du XML DOM
Définition et utilisation
La propriété firstChild retourne le premier sous-nœud du nœud sélectionné.
Si le nœud sélectionné n'a pas de sous-nœuds, cette propriété retourne NULL.
Syntaxe :
elementNode.firstChild
Aide et commentaires
Remarque :Internet Explorer ignore les nœuds de texte blanc générés entre les nœuds (comme les caractères d'indentation), tandis que Mozilla ne le fait pas. Par conséquent, dans les exemples suivants, nous utilisons une fonction pour vérifier le type de nœud du premier sous-nœud.
Le type de nœud de l'élément est 1, donc si le premier sous-nœud n'est pas un nœud élément, il se déplace au prochain nœud et vérifie si ce nœud est un nœud élément. Ce processus continue jusqu'à ce que le premier sous-nœud soit trouvé. Cette méthode garantit que les résultats sont corrects dans Internet Explorer et Mozilla.
Pour plus d'informations sur les différences entre IE et les navigateurs Mozilla, veuillez consulter le tutoriel XML DOM sur CodeW3C.com. Navigateur DOM dans cette section.
Exemple
Dans tous les exemples, nous utiliserons le fichier XML books.xmlainsi que la fonction JavaScript loadXMLDoc()。
Le fragment de code suivant extrait le premier sous-nœud de "books.xml":
//vérifier si le premier nœud est un nœud élément
function get_firstchild(n)
{
var x =n.firstChild
;
while (x.nodeType != 1)
{
x=x.nextSibling;
}
return x;
}
xmlDoc=loadXMLDoc("books.xml");
var x=xmlDoc.documentElement;
var firstNode=get_firstchild(x);
for (var i=0;i<firstNode.childNodes.length;i++)
{
if (firstNode.childNodes[i].nodeType==1)
{
//Traiter uniquement les noeuds élément
document.write(firstNode.childNodes[i].nodeName);
document.write(" = ");
document.write(firstNode.childNodes[i].childNodes[0].nodeValue);
document.write("<br />");
}
}
La sortie du code ci-dessus :
title = Everyday Italian author = Giada De Laurentiis year = 2005 price = 30.00