Как использовать класс, сгенерированный Xsd2Code - PullRequest
9 голосов
/ 14 июля 2011

Я новичок в кодировании XML.У меня есть файл XML, с помощью которого я сгенерировал файл схемы с помощью инструмента XSD, а затем сгенерировал файл класса с помощью инструмента Xsd2Code.

Теперь у меня есть файл с именем Timesheet.Designer.cs, содержащий всю информацию о классе и методы сериализации.Могу ли я использовать один и тот же файл в проекте или оставить его в качестве базового класса и создать отдельный файл с Timesheet.cs для доступа к этим классам и модификациям?Может кто-нибудь указать мне хороший учебник или пример, который показывает, как я могу использовать это в своем приложении для чтения и записи в файл XML?

У меня есть много элементов complexType, которые находятся в файле XML.Таким образом, инструмент генерировал разные классы для всех этих сложных типов.

Если у кого-то уже есть какой-то код, пожалуйста, опубликуйте его здесь.

Ответы [ 2 ]

9 голосов
/ 14 июля 2011

Xsd2Code может генерировать методы сохранения и загрузки, которые сохраняют и загружают объекты непосредственно в файл XML.

Необходимо убедиться, что вы задали правильные параметры при создании классов, либо на странице свойств Xsd2Code,или через командную строку, в зависимости от того, как вы ее используете - посмотрите это изображение (особенно раздел сериализации).

enter image description here

Чтобы загрузить, отредактировать и сохранить ваш XML-файл:

// SchemaClass is the root class generated by Xsd2Code
SchemaClass data = SchemaClass.LoadFromFile("myData.xml");

data.SomeElement.SomeProperty = "foo";

data.SaveToFile("myData.xml");
3 голосов
/ 14 июля 2011

Вы можете пометить его как partial класс или использовать его как base класс. Хранить его в отдельном файле designer.cs нормально.

Таким образом, каждый раз, когда вы обновляете файл, ваш пользовательский код не будет перезаписан.

...