Работа в обратном направлении может помочь - сначала создайте свой класс, затем сериализуйте и посмотрите, что вы получите.
Для самых простых классов это на самом деле довольно просто. Вы можете использовать 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".
Вы можете изменить поведение сериализации, работать с неожиданными узлами и т. Д. - посмотрите страницу MSDN XmlSerializer , например.