begin process at 2010 02 10 02:37:33
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Delphi

 > 

Divers

 > 

Débutant(e)

 > 

Lister les noeuds d'un XML


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

Lister les noeuds d'un XML

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ée 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...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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,562 sec (3)

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