Bonjour,
C'est la première fois que je dois manipulé un fichier XML avec Delphi. J'utilise CodeGear 2009.
Le programme doit manipuler des données et générer un fichier XML qui sera par la suite (si tout vas bien) copier dans un répertoire et sera accéder à partir d'une page web (Spry et Dreamweaver).
Mon fichier XML, ressemble à ça:
Mais évidemment cela ne fonctionne pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 <?xml version="1.0" encoding="utf-8"?> <part> <nom>stef lebon</nom> <pres>orale</pres> <titre>ca va être cool - clo</titre> </part> <part> <nom>gertrude labonte</nom> <pres>affichées</pres> <titre>ca va etre intérressant - gla</titre> </part> <part> <nom>marc poitras</nom> <pres>orale</pres> <titre>ceci est un titre</titre> </part> <part> <nom>ingrid zoumi</nom> <pres>orale</pres> <titre>ca va etre interessant - izo</titre> </part>
J'ai écris un programme de test qui décompose mon projet en petit élément simple. Je charge le fichier XML.
Pour afficher le contenu:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 procedure TForm1.Btn_LoadXMLClick(Sender: TObject); begin XMLDocument1.LoadFromFile('testxml.xml'); memo1.Lines.Add('fichier charger'); end;
Mais, dans l'état initial de mon fichier XML j'ai un message d'erreur "Le projet Project1.exe a déclenché la classe d'exception EDOMParseError avec le message 'Un seul élément de niveau supérieur est autorisé dans un document XML.' ". Si je retire les 3 dernières section <part> et </part>. Cela fonctionne.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 procedure TForm1.Btn_DisplayClick(Sender: TObject); begin With XMLDocument1.ChildNodes.Nodes['part'] do begin Memo1.Lines.Add(ChildNodes.Nodes['nom'].Text); Memo1.Lines.Add(ChildNodes.Nodes['pres'].Text); Memo1.Lines.Add(ChildNodes.Nodes['titre'].Text); end; end;
En premier lieu je voudrais affiché le contenu du fichier XML dans un TMemo. Par la suite, je vais ajouter les parties où je reçois des infos texte que je dois intégré dans les bons champs du fichier XML.
J'ai fouillé sur le forum et dans les FAQ Delphi et XML... mais je n'y arrive pas
http://delphi.developpez.com/faq/?page=xml
http://xml.developpez.com/faq/?page=1
Je suis presque certain que c'est une coquille... Mais je glande la dessus depuis quelques jours.
Merci à l'avance pour votre aide,
Bonne journée
Stéphane Denis
Partager