Как использовать вывод xsd.exe / c - PullRequest
8 голосов
/ 09 февраля 2010

Я пытался использовать xsd.exe для преобразования файла .xsd в класс C #. Это сработало, но я все еще не совсем уверен, как использовать этот класс. Он имеет несколько атрибутов уровня класса, но наиболее интересным является System.Xml.Serialization.XmlTypeAttribute. Какой класс использует этот атрибут?

Есть ли простой способ превратить экземпляр этого класса в строку XML?

Ответы [ 3 ]

6 голосов
/ 09 февраля 2010

Супер прямолинейный. Я люблю инструмент XSD. Я взял некоторые вольности ниже.

//From xml to object
YourRootType inst = new XmlSerializer(typeof(YourRootType)).Deserialize(XmlReader.Create("some.xml"));

//From object to xml
Using(FileStream fs = new FileStream("some.xml", FileMode.Create))
   new XmlSerializer(typeof(YourRootType)).Serialize(fs, inst);
0 голосов
/ 09 февраля 2010

Используйте классы как обычные классы. Затем, когда вы сериализуете их в XML, XML будет проверяться по схеме. Вы также можете взять XML, который проверяет соответствие схеме, и десериализовать его обратно в экземпляры классов.

0 голосов
/ 09 февраля 2010

Да. Посмотрите на XmlSerializer [и StringWriter, если хотите].

...