begin process at 2012 02 12 08:30:13
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Fichiers / Disque

 > PETITE LIB XML

PETITE LIB XML


 Information sur la source

Note :
Aucune note
Catégorie :Fichiers / Disque Niveau :Débutant Date de création :04/12/2004 Date de mise à jour :04/12/2004 20:13:09 Vu / téléchargé :9 689 / 1 400

Auteur : jhwnd

Ecrire un message privé
Commentaire sur cette source (4)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Vous trouverez dans ce zip un petit parser xml, qui permet d'exploiter un fichier xml.
Cette classe ne gère pas les commentaires et infos du xml, elle permet uniquement de charger en mémoire un fichier xml; de plus elle ne gère que 5 imbrications de tag en écriture (voir la source).

Source

  • // lecture du fichier xml
  • xml.Initialize("./test.xml");
  • // recherche du tag test
  • Tag = xml.Search("/test");
  • // récupération de premier tag enfant de test
  • Tag = xml.GetChild(Tag);
  • while(Tag != NULL) // tant qu'il y a un tag enfant ...
  • {
  • x = xml.GetChild(Tag); // get x
  • y = xml.NextChild(x); // get y
  • text = xml.NextChild(y); // get text
  • r = xml.NextChild(text);
  • g = xml.NextChild(r);
  • b = xml.NextChild(g);
  • //AfxMessageBox(text->pcValue);
  • WriteWindow(this->GetDC()->m_hDC,
  • atoi(x->pcValue),
  • atoi(y->pcValue),
  • text->pcValue, RGB(atoi(r->pcValue),atoi(g->pcValue),atoi(b->pcValue)));
  • Tag = xml.NextChild(Tag);
  • }
  • xml.WriteTo("./test.xml");
		// lecture du fichier xml
		xml.Initialize("./test.xml");

		// recherche du tag test
		Tag = xml.Search("/test");
		// récupération de premier tag enfant de test
		Tag = xml.GetChild(Tag);
		while(Tag != NULL) // tant qu'il y a un tag enfant ...
		{
			x = xml.GetChild(Tag);	// get x 
			y = xml.NextChild(x);	// get y
			text = xml.NextChild(y);	// get text
			r = xml.NextChild(text);
			g = xml.NextChild(r);
			b = xml.NextChild(g);

			//AfxMessageBox(text->pcValue);
			WriteWindow(this->GetDC()->m_hDC,
					atoi(x->pcValue),
					atoi(y->pcValue),
					text->pcValue, RGB(atoi(r->pcValue),atoi(g->pcValue),atoi(b->pcValue)));
			Tag = xml.NextChild(Tag);
		}
		xml.WriteTo("./test.xml");

 Conclusion

L'exemple fournit affiche du texte selon le contenu du fichier test.xml. (capture)

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

04 décembre 2004 20:13:11 :

 Sources du même auteur

Source avec Zip DIR LIKE DE WINDOWS

 Sources de la même categorie

Source avec Zip Source avec une capture GENERE BMP par lajouad
Source avec Zip Source avec une capture GETIONNAIRE D'UNE BIBLIOTHÉQUE EN C par benzarabel
FONCTION D'ÉDITION DE FICHIER BIT À BIT [C-MULTIPLATEFORME] par lynxtyle
Source avec Zip Source avec une capture UN GESTIONNAIRE DU FICHIER par benzarabel
Source avec Zip COPIE DE FICHIERS PAR RESEAU LOCAL par cczerty

Commentaires et avis

Commentaire de Kirua le 05/12/2004 12:19:33

"elle ne gère que 5 imbrications de tag en écriture"

j'ai pas regardé le code mais je suppose que si tu as ce genre de contrainte, c'est que tu n'as pas utilisé de récursion dans ta lecture. idéalement il te faudrait un N-arbre dynamique pour pvr passer outre ce genre de problèmes. renseigne-toi de ce côté là pê, ça pourrait t'aider à améliorer la classe :)

Commentaire de jhwnd le 05/12/2004 21:22:19

La lecture ne pose pas de problème sur le nombre de tag bien que je n'utilise pas la récursivité. C'est juste que je n'ai pas vraiment  traiter le problème d'écriture de fichier. Alors j'ai fait un pizalé qui ne gère que 5 niveaux d'imbrications en écriture.
Si cette fonction interesse quelqu'un je mettrai à jour ma source.

Merci pour ton commentaire.

Commentaire de Kornferki le 06/12/2004 14:32:20

Dis, comment se fait il que le fichier test.xml soit modifie lors de l execution de ton prog ?

J ai insere le contenu d un autre fichier xml dans le fichier test.xml et apres execution, il ne me restait plus que les deux premieres balises .....

Commentaire de jhwnd le 06/12/2004 16:44:28

le fichier test.xml est modifié par la ligne : xml.WriteTo("./test.xml");.
Si l'écriture c'est mal passé, c'est que la lecture a souffert aussi, peux tu me mettre à dispo ton exemple de fichier sur un site ?

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

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,499 sec (4)

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