Quelles sont les options pour générer des classes c# .NET 4.0 (entités) à partir d'un fichier xsd, en utilisant Visual Studio 2010 ?
Réponses
Trop de publicités?J'utilise XSD
dans un script de lot pour générer .xsd
et les classes de XML
directement :
set XmlFilename=Your__Xml__Here
set WorkingFolder=Your__Xml__Path_Here
set XmlExtension=.xml
set XsdExtension=.xsd
set XSD="C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1\Tools\xsd.exe"
set XmlFilePath=%WorkingFolder%%XmlFilename%%XmlExtension%
set XsdFilePath=%WorkingFolder%%XmlFilename%%XsdExtension%
%XSD% %XmlFilePath% /out:%WorkingFolder%
%XSD% %XsdFilePath% /c /out:%WorkingFolder%
La réponse de Marc Gravells était correcte pour moi mais mon xsd avait une extension de .xml. Lorsque j'ai utilisé le programme xsd, il a donné :- The table (Amt) cannot be the child table to itself in nested relations.
Selon ce document KB325695 J'ai renommé l'extension de .xml en .xsd et cela a bien fonctionné.
J'ai utilisé xsd.exe
dans l'invite de commande de Windows.
Cependant, étant donné que mon xml faisait référence à plusieurs xml en ligne (dans mon cas http://www.w3.org/1999/xlink.xsd
qui fait référence http://www.w3.org/2001/xml.xsd
) J'ai également dû télécharger ces schémas, les placer dans le même répertoire que mon xsd, puis lister ces fichiers dans la commande :
" C:\Program Fichiers (x86) \Microsoft SDKs \Windows\v8.1A\bin\NETFX 4.5.1 Outils \xsd.exe " /classes /langue:CS votre.xsd xlink.xsd xml.xsd
0 votes
@drzaus Cela fonctionnait dans le passé, mais maintenant quand j'en ajoute un, il génère une classe DataSet au lieu des classes auxquelles je m'attendrais. J'ajoute simplement un élément existant et je sélectionne le fichier XSD.