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 : Lister les noeuds d'un XML [ Divers / Débutant(e) ] (Encore1ben)

lundi 23 juillet 2007 à 16:21:29 | Lister les noeuds d'un XML

Encore1ben

Bonjour, Avec un peu de retard, je me décide à mettre à la retraite mes loyaux fichiers INI, et de passer le tout en XML... Après avoir un peu galéré pour assimiler la création de noeuds et d'enfants, je décide enfin de pouvoir lister les noeuds d'un fichier pour remplir une listbox. Ma question est donc : Y'a t il un équivalent du "Readsection" des fichiers INI ? Et si oui, peut on lire de noeuds éloignés dans un fichier ? (voir exemple ci dessous) Pour mon example, j'ai un fichier XML qui contient des informations sur des animaux. > Type Animaux >>Chien >>>Nom: Poppy >>>Age: 15 ans >>>Nom: Doudou >>>Age: 99 ans >>Chat >>>Nom: Doris >>>Age: 1 ans >>Zebre >>>Nom: Kikoo >>>Age: 8 ans Et en gros, je souhaiterais lister automatiquement, les noeuds >>, soit chien, chat, zebre dans une listbox ! Merci d'avance à vous !

-----------------------------------------------------------

"No Comment ! Just Act..."

lundi 23 juillet 2007 à 16:23:48 | Re : Lister les noeuds d'un XML

Encore1ben

Merde sous Opera, y'a pas de saut de ligne ???? Il faut les taper en html ????

Bonjour, Avec un peu de retard, je me décide à mettre à la retraite mes loyaux fichiers INI, et de passer le tout en XML... Après avoir un peu galéré pour assimiler la création de noeuds et d'enfants, je décide enfin de pouvoir lister les noeuds d'un fichier pour remplir une listbox.

Ma question est donc : Y'a t il un équivalent du "Readsection" des fichiers INI ? Et si oui, peut on lire de noeuds éloignés dans un fichier ? (voir exemple ci dessous)

Pour mon example, j'ai un fichier XML qui contient des informations sur des animaux.

> Type Animaux

>>Chien >>>Nom: Poppy

>>>Age: 15 ans

>>>Nom: Doudou

>>>Age: 99 ans

>>Chat

>>>Nom: Doris

>>>Age: 1 ans

>>Zebre

>>>Nom: Kikoo

>>>Age: 8 ans


Et en gros, je souhaiterais lister automatiquement, les noeuds >>, soit chien, chat, zebre dans une listbox ! Merci d'avance à vous !

-----------------------------------------------------------

"No Comment ! Just Act..."

mardi 24 juillet 2007 à 08:38:10 | Re : Lister les noeuds d'un XML

Loda

Membre Club
salut,

pour parcourir les enfant d'un noeud:

utilise
aNode := aParentNode.ChildNodes.First;
if assigned(aNode) then
repeat
Xxxx
aNode := aNode.NextSibling; //la doc de Delphi est fausse. Ceci ne raise pas.
untile not assigned(aNode);

ou

for i := 0 to aParentNode.ChildNodes.Count-1 do begin
  aNode := aParentNode.ChildNodes.Get(i);
 Xxxx
end;

bon code,

Loda

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

mardi 24 juillet 2007 à 08:58:00 | Re : Lister les noeuds d'un XML

sylvunix

Réponse acceptée !
Bonjour Encore1ben,

Je te propose de regarder ce source : Gestionnaire de fichiers de configuration.

L'unité SxConfiguration permet d'écrire puis lire un fichier de configuration.

Partie écriture ...

uses TSxConfiguration;
...

var Configuration, Famille, Animal: TSxConfiguration;
...

// Création de l'objet principal
Configuration := TSxConfiguration.Create;

// Création de l'objet famille chien et inscription des paramètres
Famille := TSxConfiguration.Create(Configuration);
Famille.Name := 'chien';

Animal := TSxConfiguration.Create(Famille);
Animal.Name := 'Poppy';
Animal.addValue('âge', 15);

Animal := TSxConfiguration.Create(Famille);
Animal.Name := 'Doudou';
Animal.addValue('âge', 99);

// Création de l'objet famille chat et inscription des paramètres
Famille := TSxConfiguration.Create(Configuration);
Famille.Name := 'chat';

Animal := TSxConfiguration.Create(Famille);
Animal.Name := 'Doris';
Animal.addValue('âge', 1);

// Création de l'objet famille zèbre et inscription des paramètres
Famille := TSxConfiguration.Create(Configuration);
Famille.Name := 'zèbre';

Animal := TSxConfiguration.Create(Famille);
Animal.Name := 'Kikou';
Animal.addValue('âge', 8);
...

// La sauvegarde
Configuration.SaveToFile('C:\Mon soft\cfg\configuration.cfg');


Partie lecture ...

uses TSxConfiguration;
...

var
  Configuration, Famille, Animal: TSxConfiguration;
  IndexFamille, IndexAnimal: Integer;
...

// Création de l'objet principal
Configuration := TSxConfiguration.Create;

// Lecture du fichier de configuration
Configuration.LoadFromToFile('C:\Mon soft\cfg\configuration.cfg');
...

for IndexFamille := 0 to Configuration.Count-1 do
begin
  Famille := Configuration.Item[IndexFamille];
  for IndexAnimal := 0 to Famille.Count-1 do
  begin
    Animal := Famille.Item[IndexAnimal];

    // Famille.Name contient le nom de la famille (chien, chat ...)
    // Animal.Name contient le nom de l'animal
    // Animal.getValue('âge') contient l'âge de l'animal
  end;
end;

Si tu souhaites plus de renseignements, n'hésites pas à me le faire savoir ...

sylvunix.

jeudi 26 juillet 2007 à 18:15:23 | Re : Lister les noeuds d'un XML

Encore1ben

Merci pour vos réponses à tous les 2 !!! Mais bizarrement, je n'arrive pas à l'appliquer...

Je vais retenter le coup, mais quand il n'existe pas de childnodes, à un noeud, delphi plante avec une violation d'accès... Je comprends pas tout !!!???



Cette discussion est classé dans : age, lister, xml, noeuds, ans


Répondre à ce message

Sujets en rapport avec ce message

lister les attributs d'un noeud XML [ par wapok ] Bonjour, depuis quelques jours je suis confronte a un soucis.je souhaite obtenir la quantite d'attributs que possede un noeud d'un fichier XML et pouv Optimisation d'une fonction pour lister une arborescence [ par flagada ] Bonjour Alors je vous expose mon problème car je n'ai pas trouvé de réponse sur le forum...J'ai un logiciel qui crée une arborescence des répertoires Problème MyBase et xml [ par cahu2004 ] Bonjour, depuis le transfert d'un projet delphi 7 depuis un PC bureau (XP Famil) vers mon asus (XP pro), lors de la compilation sur asus, un bug persi lister les fonction d'une dll [ par mouhandarab ] comment lister les fonction d'une dllj'utilise un dependency walker mais jarrive pas a trouver les return d'une fonctionmerci pour votre aide handle de la fenêtre lister les composants [ par yvessimon ] Bonjour,A partir d'une application principale je récupére le handle d'une autre fénêtre .Comment récupérer la liste des composants de cette autre fénê [D7] Lister les résolution d'une imprimante [ par nitrique ] Bonjour à tous, J'arrive à charger les imprimantes installées sur le poste dans une combo de cette manière:for i:=0 to Printer.Printers.Count-1 do b récupérer le contenu d'un contrôle créé dynamiquement [ par marvenjabloun ] Bonjour,je suis etudiant debutant en delphi et je fait une application dans le cadre d'un projet avec       delphi 7et je trouve un problemepour utili parcourir fichier XML [ par marvenjabloun ] salut tou le monde voila j ai cette fichier xml  qui s appelle classe.xml la voila :xml version="1.0" encoding="iso-8859-1" ?></spa liberer une fichier XML [ par marvenjabloun ] Bonjour j'utilise un composante XMLDocument dans mon code pour charger une fichier xml XMLProfil.LoadFromFile(OpenDialogProfils.Files[i]);puis je enre Longueur d'un champ XML [ par thonyboy ] Bonjour,J'essais de me faire une base de petite donnée dans un fichier XMLUn des champs est description, et mon programme plante au moment de clientda


Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode

Téléchargements

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



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, 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,265 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é.