Generation de classes à partir d'un fichier XML complexe [Résolu]

Messages postés
64
Date d'inscription
mercredi 9 février 2005
Dernière intervention
27 janvier 2009
- - Dernière réponse : cs_coq
Messages postés
6366
Date d'inscription
samedi 1 juin 2002
Dernière intervention
2 août 2014
- 1 nov. 2006 à 21:48
Bonjour, comme indiqué dans le sujet, je cherche a generer des fichiers classe a partir d'un fichier XML assez complexe et, il faut bien l'admettre, je patauge allegrement dans les fonctions de serialisation de C#.

Est-il possible de faire cela ? Si oui...quelqu'un pourrait il m'aiguiller ?

En vous remerciant, a+!
Afficher la suite 

Votre réponse

12 réponses

Meilleure réponse
Messages postés
3489
Date d'inscription
lundi 16 octobre 2000
Dernière intervention
30 octobre 2008
3
Merci
Salut,

Tu peux utiliser l'utilitaire xsd.exe
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cptools/html/cpconxmlschemadefinitiontoolxsdexe.asp

xsd.exe fichier.xml  -> te donne un fichier xsd.
xsd.exe fichier.xsd  /c /l:cs -> te donne ta classe en c#

Mx
MVP C# 

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 104 internautes ce mois-ci

Commenter la réponse de MorpionMx
Messages postés
64
Date d'inscription
mercredi 9 février 2005
Dernière intervention
27 janvier 2009
0
Merci
Merci m'sieur ! J'ai trouvé cette application, bien sympathique, il est vrai... Mais je dois faire une application de mes mains...ou de mes doigts... c'est là qu'est tout le probleme... Savez-vous quelle methode est utilisée dans ce type d'application ?
Commenter la réponse de cs_ip2x
Messages postés
64
Date d'inscription
mercredi 9 février 2005
Dernière intervention
27 janvier 2009
0
Merci
Bonjour, il semblerait que je puisse utiliser ce programme, mais savez vous si une licence est requise pour son utilisation ?
Si non, je debouche le champagne !
En vous remerciant, a+
Commenter la réponse de cs_ip2x
Messages postés
3489
Date d'inscription
lundi 16 octobre 2000
Dernière intervention
30 octobre 2008
0
Merci
Une licence ?
Disons qu'il est fourni avec le SDK, donc tu peux tout a fait t'en servir librement.
Si maintenant tu souhaites l'embarquer avec ton appli, la par contre je ne pense pas que tu puisses. A moins d'embarquer tout le sdk

Mx
MVP C# 
Commenter la réponse de MorpionMx
Messages postés
64
Date d'inscription
mercredi 9 février 2005
Dernière intervention
27 janvier 2009
0
Merci
C'est donc là que ça va coincer...je range ma bouteille moi...
Je suis certain que tu aurais une solution a mon probleme, toi, Ô grand Morpion , dont la teneur est de realiser un "parser" xml avec generation de classes c#...portable donc vers n'importe quelle machine...

J'ai bien trouvé une dll ici : http://www.sellsbrothers.com/tools/ son nom est .NET XsdClassesGen
Si mes bribes de connaissances en developpement sont correctes, mon application pourra se servir de cette dll sur une autre machine...non ?

Cependant, je dois etre un peu nul car je n'arrive meme pas a m'en servir dans mon code...

Y aurait-il une âme charitable pour me tenir la main pendant que je code ?

http://www.sellsbrothers.com/tools/#xsdClassesGen
Commenter la réponse de cs_ip2x
Messages postés
3489
Date d'inscription
lundi 16 octobre 2000
Dernière intervention
30 octobre 2008
0
Merci
Si tu regardes le code, cette dll utilise xsd.exe.
Mais comme il s'agit d'un add-in pour Visual Studio, on part du principe qu'xsd.exe est forcément installé sur la machine.

Mx
MVP C# 
Commenter la réponse de MorpionMx
Messages postés
64
Date d'inscription
mercredi 9 février 2005
Dernière intervention
27 janvier 2009
0
Merci
Oui petite erreur de ma part : c'est ceci que je me suis procuré : http://www.gotdotnet.com/Workspaces/Workspace.aspx?id=ef3d0a73-0468-46da-8780-ede0f12b6f22
Commenter la réponse de cs_ip2x
Messages postés
64
Date d'inscription
mercredi 9 février 2005
Dernière intervention
27 janvier 2009
0
Merci
Bon encore une question : admettons que j'arrive a installer cette dll sur ma machine, admettons... une fois l'application compilée, est-ce que cette  meme dll  devra etre presente  sur  les  autres  machines pour le bon fonctionnement du programme ??? Si oui...autant mettre directement les mains a la pate...
Commenter la réponse de cs_ip2x
Messages postés
3489
Date d'inscription
lundi 16 octobre 2000
Dernière intervention
30 octobre 2008
0
Merci
J'ai pas encore eu le temps de regarder ton lien.
Par contre, si c'est une dll, oui, il faudra que la dll se trouve sur les autres ordinateurs. Mais si tu la référence dans ton projet, elle accompagnera ton exe (pas incorporée avec), donc ce n'est pas un souci. Tu livreras la dll avec ton executable.

Mx
MVP C# 
Commenter la réponse de MorpionMx
Messages postés
64
Date d'inscription
mercredi 9 février 2005
Dernière intervention
27 janvier 2009
0
Merci
Ok j'avais deja utilisé cette technique pour un ancien projet...mais dans ce cas, l'installation de la dll est vraiment indigeste :

Installing this Build

<li>Add SkybowVsCodeGenerator.dll to the GAC using
GACUTIL.EXE with the /i switch.
</li><li>Add SkybowVsCodeGeneratorShim.dll to the GAC
using GACUTIL.EXE with the /i switch.
</li><li>Register SkybowVsCodeGeneratorShim.dll using
REGASM.EXE (no switches necessary).</li>Sample VS Solution for Running Sample Code
Generators

To try the sample code generators, you need to open the
SampleCodeGeneratorsSample solution in Visual Studio 2002 or
2003. However, before you do that, you need to define an environment variable
called CODEGENPATH that points to the directory where
Skybow.SampleCodeGenerators.dll is located. The best way to do
this is to open a Command Prompt window (use the Visual
Studio .NET Commpand Prompt shortcut in your Start
menu created by Visual Studio), define the CODEGENPATH variable
and then launch Visual Studio 2002 or 2003 by running MSDEV.EXE
from the same Command Prompt.

Il me parait tout a fait inconcevable d'obliger l'utilisateur a executer toutes ces manipulations...

Il me reste donc 2 choix possibles : créer une installation pour la dll, ou livrer l'appli avec le xsd.exe... a ton avis quel est le meilleur ?
Commenter la réponse de cs_ip2x
Messages postés
3489
Date d'inscription
lundi 16 octobre 2000
Dernière intervention
30 octobre 2008
0
Merci
Si la dll repond a tes besoins, et que tu as le droit de la distribuer, alors tu peux utiliser la solution de l'installation.

Mx
MVP C# 
Commenter la réponse de MorpionMx
Messages postés
6366
Date d'inscription
samedi 1 juin 2002
Dernière intervention
2 août 2014
0
Merci
Salut,

Juste au cas où, un utilitaire pouvant peut être correspondre figure parmis les téléchargements du centre de développement XML :
XSD Object Code Generatorhttp://msdn.microsoft.com/XML/XMLDownloads/default.aspx

/*
coq
MVP Visual C#
CoqBlog
*/
Commenter la réponse de cs_coq

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.