Как использовать класс, сгенерированный Xsd2Code

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

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

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

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


person user843813    schedule 14.07.2011    source источник
comment
Возможно, это проблема пространства имен. Вам нужно указать Xsd2Code, в каком пространстве имен создавать классы, а затем вам нужно добавить директиву «using», чтобы получить доступ к этим классам.   -  person MattDavey    schedule 14.07.2011


Ответы (2)


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

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

введите здесь описание изображения

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

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

data.SomeElement.SomeProperty = "foo";

data.SaveToFile("myData.xml");
person MattDavey    schedule 14.07.2011

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

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

person Mrchief    schedule 14.07.2011
comment
Я искал учебник, в котором объясняется, как использовать класс, сгенерированный XSD2Code. - person user843813; 14.07.2011
comment
Что вы подразумеваете под «использовать»? Что именно ты пытаешься сделать? что ты уже испробовал? У вас есть сообщение об ошибке? Пожалуйста, уточните... - person MattDavey; 14.07.2011
comment
@MattDavey: я хочу читать и писать в файл XML, используя этот класс. Поэтому я ищу код, который уже разработан с файлом класса, созданным XSD2Code. - person user843813; 14.07.2011