Comment générer un fichier XML à partir d'un fichier XSD?
Supposons que nous ayons un fichier Test.xsd qui ressemble à ceci:
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="MyClass">
<xs:complexType>
<xs:sequence>
<xs:element name="Field1"
type="xs:string"/>
<xs:element name="Field2"
type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Créez des classes en utilisant l'outil xsd:
xsd.exe /classes Test.xsd
Cela générera un fichier Test.cs.
Ajoutez le fichier Test.cs à votre solution.
Créez une instance de MyClass
, définie dans le schéma XSD et XmlSerialize:
using System.Xml.Serialization;
// ...
var data = new MyClass { Field1 = "test1", Field2 = "test2" };
var serializer = new XmlSerializer(typeof(MyClass));
using (var stream = new StreamWriter("C:\\test.xml"))
serializer.Serialize(stream, data);
Résultat:
<?xml version="1.0" encoding="utf-8"?>
<MyClass xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Field1>test1</Field1>
<Field2>test2</Field2>
</MyClass>
il s’agit du chemin du fichier xsd.exe, assurez-vous d’avoir installé le SDK.
C:\Program Files (x86)\SDK Microsoft\Outils\Windows\v8.1A\bin\NETFX 4.5.1 (voici le xsd.exe (application))
voir aussi si nécessaire . Où trouver xsd.exe dans Visual Studio 2013 sous Windows 8
Pour "Créer des classes à l'aide de l'outil xsd: xsd.exe/classes Test.xsd", ouvrez d'abord Windows, puis écrivez "Développeur ..", puis l'invite de commande de développeur pour Vs2015 (votre version). exécutez cette commande dans la commande.
De plus, si votre fichier xsd est volumineux, il faut du temps pour définir tous les éléments. Dans ma situation, j'essaie de mettre en œuvre une colonne de base de données dans chaque élément afin d'obtenir des informations pour chaque client de mon entreprise. (var data = new MyClass {Field1 = "test1", Field2 = "test2"};)