TrustNoOne
Messages postés4Date d'inscriptionsamedi 25 juin 2005StatutMembreDernière intervention10 septembre 2009
-
9 sept. 2009 à 14:46
TrustNoOne
Messages postés4Date d'inscriptionsamedi 25 juin 2005StatutMembreDernière intervention10 septembre 2009
-
10 sept. 2009 à 09:41
Bonjour à tous,
J'ai un petit soucis pour la lecture d'un fichier XML. J'ai effectué des modifs en long en large en travers mais rien n'y fait.
Après debug, j'arrive bien a entrer dans le doc XML, à pouvoir lire la donnée title "title001" lors du passage de la première boucle. A la seconde boucle, la valeur est toujours à title001 au lieu de title002 ??!!
startItemCode := ixml.DocumentElement.ChildNodes.FindNode('channel');
ANode := startItemCode;
repeat
titre:= ANode.ChildNodes['title'].Text;
ANode.NextSibling;
until ANode = nil;
//*****************
// fin code delphi
//*****************
Je suis également passé par une structure telle que
for i := 0 to noeud.ChildNodes.count-1 do
begin
[...]
with Nodes['item'].ChildNodes do
begin
titre:= Nodes['title'].text; /* idem : reste toujours à la valeur title001 alors que le i s'incrémente bien */
end;
[...]
end;
//
Aucun exemple trouvé sur le net n'a pu solutionné mon problème :(
Si qq'un a une idée...
cs_47
Messages postés197Date d'inscriptionmardi 20 janvier 2004StatutMembreDernière intervention20 février 20131 9 sept. 2009 à 17:21
Bonjour,
peut être une solution (j'ai mis le composant TXMLDocument, nommé XMLDoc, sur une form) testé sous Delphi2006
var i, cpt : integer;
tmp : IXMLNode;
begin
XMLDoc.LoadFromFile('test.xml');
with XMLDoc.ChildNodes.Nodes['rss'].ChildNodes do begin
cpt:=Nodes['item'].ChildNodes.Count;
tmp:=Nodes['item'];
for I := 0 to cpt - 1 do begin
ShowMessage(tmp.ChildValues['title']);
tmp:=tmp.NextSibling;
end;
end;
end;