Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : XML et Delphi [ Divers / Débutant(e) ] (Lamarmottedu73)

mercredi 31 octobre 2007 à 09:02:27 | XML et Delphi

Lamarmottedu73

Bonjour tlm, j'ai un problème avec Delphi et le XML. J'utilise un TXMLDocument dans un thread qui scrute différent fichier. Le problème intervien sur un balise du fichier XML.

<ComponentList>
   <Component Id="015-000-555-000">
      <Value>2</Value>
   </Component>
   <Component Id="015-077-666-000">
      <Value>33</Value>
   </Component>
   <Component Id="015-770-566-000">
      <Value>5</Value>
   </Component>
</ComponentList>

Pour accéder à ComponentList je fait un : XMLDocument.ChildNodes.Nodes['ComponentList'];
La question est comment faut-il procéder pour accèder à Component qui possède l'ID 015-077-666-000, sachant que l'ordre peut changer donc First ou Last ne peuvent fonctionner.

Merci pour votre aide car je bloc pas mal, c'est la première fois que je bosse avec du XML.

mercredi 31 octobre 2007 à 09:30:19 | Re : XML et Delphi

Loda

Membre Club
Réponse acceptée !
salut,

il te faut parcourir tout la liste de noeud et tester l'attribut. il n'y pas d'autre moyen d'accéder un noeud selon sa valeur d'attribut.

donc ça te donne un truc genre (pas testé, je suis sur j2me en ce moment):

function chercherNoeudParID(idToFound: string) : ixmlnode;
var
parent : ixmlnode;
begin
result := nil;
parent := XMLDocument.ChildNodes.Nodes['ComponentList'];

for i := 0 to parent.childnodes.count-1 do begin
noeud = parent.getnode(i);
if noeud.HasAttribute("id") then begin
  if noeud.Attributes["id"] = idToFound then begin?
    result = noeud;
    exit;
  end;
end;
end;

end;

si tu choisit le format du xml et que tu as besoin de faire fréquemment des sélections selon l'id, envisage d'utiliser l'ID comme nom de noeud. ceci te opermet de faire directement un getnode(idToFound)

bon code,

Loda

PS: l'xml c'est pas super intuitif au début, mais après quelques utilisation, tu ne sait plus comment tu faisait avant :-)

Se poser les bonnes questions est le premier pas pour trouver les bonnes réponses.

mercredi 31 octobre 2007 à 10:14:19 | Re : XML et Delphi

Lamarmottedu73

Merci bien je viens de coder le tout, corriger quelques truc (Adapter à mon code) et intégrer ça mache !!!

mercredi 31 octobre 2007 à 12:45:41 | Re : XML et Delphi

Guillemouze

sinon (je sais pas si ca peut s'adapter a ton cas), tu peux aussi utiliser l'id comme nodename

<ComponentList>
   <Id015-000-555-000 Value="2" />
   <Id015-077-666-000 Value="33"/>
   <Id015-770-566-000 Value="5"/>
</ComponentList>

mercredi 31 octobre 2007 à 15:40:08 | Re : XML et Delphi

Loda

Membre Club
@Guillemouze: tiens, on a les même idées... ;-)

A+

Loda

Se poser les bonnes questions est le premier pas pour trouver les bonnes réponses.

mercredi 31 octobre 2007 à 15:44:19 | Re : XML et Delphi

Lamarmottedu73

En fait je ne peut pas modifier les fichiers XML, ils sont généré par une autre appli donc je garde la première méthode. Par contre je garde l'astuce pour plus tard .

@+




Cette discussion est classé dans : fichier, problème, delphi, xml, componentlist


Répondre à ce message

Sujets en rapport avec ce message

Comment éxécuter un fichier XML á partir de DELPHI???? urgent [ par atupac1 ] Mainteneant, j'ai juste besoin de savoir comment éxécuter un fichier XML á partir de DELPHI. XML, SVG et DELPHI(urgent pour stage...) [ par atupac1 ] Je dispose d'un fichier XML (qui intégre un fragment SVG ) dont le but est de générer une image simple(non animée).Je veux que lorsque je clique sur u Pb Word 2000 & Delphi [ par tane ] Bonjour,J'ai un problème de pilotage de Word 2000 avec Delphi 7 sous Windows Server 2008 64 bits : j'ai fait un petit exécutable qui me permet d'impri XML AVEC DELPHI 5 [ par guy jeuniaux ] Bonjour,Je viens encore une fois solliciter votre aide. J'ai besoin de récupérer une valeur dans un fichier XML.J'ai cherché pendant des heures sur le Génération d'un fichier XML avec Delphi 2009 [ par littlebolide ] Bonjour,Par la force des choses je dois me remettre dans la programmation (Delphi 2009) pour ma société (ventes de voitures de collection) dans le cad problème table paradox delphi [ par chesa ] Bonjour, J'ai un problème, je ne sais si vous avez remarqué vous aussi lors de l'utilisation des tables sous delphi. le problème c'est quand je supp DELPHI 5 RICHVIEWEDIT [ par abrisajac ] Bonjourj'aimerais stocker dans une base de données Interbase un composant Richviewedit (sans avaoir à le saiver dans un fichier RTF et sauvegarder le Problème de plantage entre Delphi 4 et Logmein [ par marcofelipe ] Bonjour,Voilà en gros ce qui se passe.Je développe une application avec Delphi 4 avec une icône dans le systray.Lorsque j'essaie de me connecter d'un Delphi et Vista [ par dugueclin ] Bonjour à tous,J'ai deux problèmes avec Delphi et Vista.J'ai réalisé un project avec un TAnimate;Après l'avoir placé dans la forme, avec la propriété ImageList sous Delphi 7 [ par Bacterius ] Bonjour, j'ai un problème avec le composant TImageList sous Delphi 7. En effet, je n'arrive pas à ajouter des images (que ce soient des images 256 cou


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version


HTC Magic

Entre 429€ et 429€


Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,250 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.