Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Aide Recherche
1859 connectés 

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  Générer un XSD à partir d'une classe C# [résolu à moitié]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Générer un XSD à partir d'une classe C# [résolu à moitié]

n°1947415
Fred82
Posté le 04-12-2009 à 15:41:37  profilanswer
 

Bonjour,
 
J'ai hésité sur la catégorie entre XML et .Net, et finalement j'ai choisi .Net car ça colle mieux je pense.
 
Alors voici mon problème : je sais sérialiser une classe C# dans un fichier XML (avec la classe XmlSerializer). Je sais créer un schéma XSD à partir du fichier XML (XML / Create Schema).
 
Le problème est qu'avec cette méthode, le XSD comporte des types peu rigoureux.
Par exemple, un int en C# devient de type "xs:unsignedByte". C'est sans doute dû au fait que le XML ne comporte aucune information de type, et donc le XSD doit se démerder pour deviner les types soi-même et commet des erreurs.
 
Comment éviter cela ?
 
J'imagine que si on pouvait générer le XSD directement à partir des classes C#, il n'y aurait plus de problème de type. Mais est-ce possible ?


Message édité par Fred82 le 16-12-2009 à 14:09:28

---------------
Vos smileys favoris sur HFR : Script Greasemonkey / Topic HFR officiel
mood
Publicité
Posté le 04-12-2009 à 15:41:37  profilanswer
 

n°1947417
Koyomi
www.sebastiengilles.com
Posté le 04-12-2009 à 15:50:00  profilanswer
 

Habituellement c'est la démarche inverse qui est a faire O_o, non ?
 
On défini sont XSD et avec un coup de XSD.exe tu génère ta classe.
 
Maintenant je croit que c'est possible avec xsd.exe ce que tu demande.

n°1947445
Fred82
Posté le 04-12-2009 à 17:00:16  profilanswer
 

Dans mon cas, c'est parce que la fonctionnalité de sérialisation XML est venue plus tard dans mon projet, du coup mes classes de données C# sont déjà définies.
 
Avec la sérialisation XML, le fichier XML est généré en un clin d'oeil. Et le fichier Xsd ensuite aussi, mais il manque de précision :(
 
Je suis en train de voir pour Xsd.exe.


---------------
Vos smileys favoris sur HFR : Script Greasemonkey / Topic HFR officiel
n°1950895
Fred82
Posté le 16-12-2009 à 14:11:11  profilanswer
 

Xsd.exe ne semble prendre qu'un Xml en entrée.
 
La solution que j'ai adoptée, c'est d'éditer manuellement le Xsd après sa création automatique, afin de changer les types incorrects. J'ai exploité un utilitaire appelé "switch.exe" qui permet de faire un remplacement de chaine via un batch.


---------------
Vos smileys favoris sur HFR : Script Greasemonkey / Topic HFR officiel

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  Générer un XSD à partir d'une classe C# [résolu à moitié]

 

Sujets relatifs
Controle COM pour générer du PDF[resolu] Trier une listbox qui affiche le contenu d'un répertoire. ?
[Résolu - PHP] Incrémenter une variable par autre chose que +1[Résolu] [Jquery] ui droppable limiter nombre de drop
[RESOLU] Carré à la place des accentsproblème firefox/CSS [RESOLU]
[Résolu] remplacer un mot réccurant[Résolu] Exécution de plusieurs SQL dans un .bat
[C++] Conversion Unicode à ASCII sous linux[Objective-C] Application de chat pour iphone / socket
Plus de sujets relatifs à : Générer un XSD à partir d'une classe C# [résolu à moitié]


Hit-Parade
Copyright © 1997-2012 Hardware.fr SARL / Groupe LDLC / LesNumeriques.com / Version anglaise du site: BeHardware