Salutations. Voici un objet XML retourné par mon serveur dans l'objet responseXML:Puis-je ajouter un objet Ajax requestXML à mon arborescence en une seule fois?
<tableRoot>
<table>
<caption>howdy!</caption>
<tr>
<td>hello</td>
<td>world</td>
</tr>
<tr>
<td>another</td>
<td>line</td>
</tr>
</table>
Maintenant, j'attach ce fragment à mon arbre du document comme ceci:.
getElementById ('de entryPoint') appendChild (responseXML.firstChild.firstChild);
Mais au lieu d'être rendu comme une table, je reçois le texte suivant texte:
Howdy! helloworldanotherline
Le même résultat se produit de remplacer firstChild.firstChild par firstChild. Il semble que je reçois juste les nodeValues, et toutes les balises sont effacées ?! Est-ce que je comprends mal ce que l'objet responseXML est censé représenter? Cela fonctionne, BTW, si je supprime les balises 'root', et définissez innerHTML à responseText.
Quelqu'un peut-il m'éclairer sur la bonne façon d'utiliser responseXML?
Merci, et j'ai cette approche pour travailler. Mais je pense qu'il y aurait des avantages à utiliser appendChild. Pour une chose, je pourrais ensuite utiliser replaceChild pour échanger du contenu. Et avec innerHTML je ne peux pas facilement faire une boucle dans l'arborescence en supprimant les références de rappel ou en modifiant les attributs. En tout cas, je ne comprends tout simplement pas l'objet responseXML. Il ne semble pas agir de la même manière que les objets que je construis à partir de zéro en utilisant appendChild. Soit je pense à tort, soit j'ai une erreur d'implémentation. En ce moment, je ne sais pas ce que c'est! –
Je ne comprends pas vraiment. Après avoir fait innerHTML tout est converti en nœuds DOM sur lesquels vous pouvez faire tout ce dont vous avez besoin. Rien de magique à ce sujet. –
Ok, merci. J'étais évidemment confus. Donc, innerHTML attache ma table à l'arbre, alors que l'utilisation des méthodes DOM pour attacher le fichier responseXML ne sert à rien. Un peu surprenant. –