begin process at 2012 02 11 01:30:53
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Delphi

 > 

Divers

 > 

Débutant(e)

 > 

XML et Delphi


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

XML et Delphi

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ée 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 Modifier un fichier xml avec turbo delphi [ par cssedan ] Comme c'est marqué dans le titre, j'aimerai en faite modifier un fichier xml avec turbo delphi pour modifier 5 ou 6 données (nombres) dedans. Est-ce p Problème Sauvegarde Projet Delphi 7 Version Portable ??? [ par tuss ] Voila mon problème : [^^doute] Depuis l'année dernière, c'est à dire ~2 mois j'utilise DELPHI Version 7.0 (Build 4.453). Tout marchais bien jusqu'à ce fichier 3ds de GLscene [ par ahlemBH ] salut tous l monde, je suis débutante en Delphi, et je suis entrain de faire un petit projet sur le traitement des images médicales. j'ai un problème


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,686 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales