Работа назад может помочь - сначала создайте свой класс, затем сериализуйте и посмотрите, что вы получаете.
Для простейших классов это довольно просто. Вы можете использовать XmlSerializer для сериализации, как:
namespace ConsoleApplication1
{
public class MyClass
{
public string SomeProperty
{
get;
set;
}
}
class Program
{
static void Main(string[] args)
{
XmlSerializer serializer = new XmlSerializer(typeof(MyClass));
TextWriter writer = new StreamWriter(@"c:\temp\class.xml");
MyClass firstInstance = new MyClass();
firstInstance.SomeProperty = "foo"; // etc
serializer.Serialize(writer, firstInstance);
writer.Close();
FileStream reader = new FileStream(@"c:\temp\class.xml", FileMode.Open);
MyClass secondInstance = (MyClass)serializer.Deserialize(reader);
reader.Close();
}
}
}
это будет написать упорядоченное представление вашего класса в XML в "C: \ Temp \ class.xml". Вы можете взглянуть и посмотреть, что вы получаете. В обратном случае вы можете использовать serializer.Deserialize для создания экземпляра класса из «c: \ temp \ class.xml».
Вы можете изменить поведение сериализации и обработать неожиданные узлы и т. Д. - например, посмотрите на the XmlSerializer MSDN page.
Вам повезло с любым из предложенных подходов? – 2010-12-04 04:15:27
Да !. Я успешно использовал инструмент xsd для создания класса (мне пришлось внести пару изменений в их соответствие моим требованиям). – Grasshopper 2010-12-09 17:42:50
http://msdn.microsoft.com/en-us/library/system.xml.serialization.xmlserializer.aspx – Mou 2013-07-30 19:06:34