Enumérer les ChildeNodes d'un XML

Résolu
L_art_ment Messages postés 302 Date d'inscription vendredi 21 septembre 2007 Statut Membre Dernière intervention 6 février 2013 - 26 janv. 2012 à 09:24
L_art_ment Messages postés 302 Date d'inscription vendredi 21 septembre 2007 Statut Membre Dernière intervention 6 février 2013 - 27 janv. 2012 à 09:32
Bien le bonjour amis delphistes !

Je vous sollicite pour un problème dont je peine à trouver la solution, je vous l'expose :

J'ai un fichier XML, de cette forme :
<salles>
<salle1>




...
</salle1>
<salle2>




...
</salle2>
...
</salles>

J'aimerais pouvoir lister les noeuds et donc retrouver la liste salle1, salle2 etc...

Ca parrait simple à priori mais je ne parviens pas à ce resultat, ou alors je passe à côté de quelque chose...

Merci de votre aide !

3 réponses

Guillemouze Messages postés 991 Date d'inscription samedi 25 octobre 2003 Statut Membre Dernière intervention 29 août 2013 7
26 janv. 2012 à 15:51
tu peux aussi les itérer :
var
  n: IXMLNode;
begin
n := XMLDoc.DocumentElement.ChildNodes.First;//salle1
while n <> nil do
begin
  Memo1.Lines.Add(n.NodeName); 
  n := n.nextSibling; //passage au noeud suivant de meme niveau
end; 
end; 
3
L_art_ment Messages postés 302 Date d'inscription vendredi 21 septembre 2007 Statut Membre Dernière intervention 6 février 2013
26 janv. 2012 à 09:52
Comme par hazard je trouve la solution juste après avoir posté :

with XMLDoc.DocumentElement.ChildNodes do
begin
for i := 1 to (Count - 1) do
begin
Memo1.Lines.Add(Nodes[i].NodeName);
end;
end;


Au temps pour moi...

Cependant j'aurais bien une autre question qui vat pas tardé à arriver avec un peu de chance !

Bonne journée !
0
L_art_ment Messages postés 302 Date d'inscription vendredi 21 septembre 2007 Statut Membre Dernière intervention 6 février 2013
27 janv. 2012 à 09:32
Merci Guillemouze pour la précosion apportée !
0