Как сериализовать объекты в XML? - PullRequest
3 голосов
/ 11 октября 2011

Как я могу сериализовать два объекта, класса A и класса B, в XML, чтобы он мог иметь следующий формат:

<root>
<objClassA> //Parent Node
  <objClassB> // child node of objClassA
  </objClassB>
</objClassA>
</root>

Ответы [ 2 ]

1 голос
/ 11 октября 2011
using System;
using System.IO;
using System.Xml.Serialization;

void Write(root rootInstance)
{
    XmlSerializer xmlSerializer = new XmlSerializer(typeof(root));
    using (FileStream fileStream = new FileStream("filepath.xml", FileMode.Create))
    {
        xmlSerializer.Serialize(fileStream, rootInstance);
    }
}

    public class root
    {
        public ClassA objClassA { get; set; }
    }

    public class ClassA
    {
        public ClassB objClassB { get; set; }
    }
    public class ClassB { }
1 голос
/ 11 октября 2011
[Serializable(true)]
public class objClassB
{
}

[Serializable(true)]
public class objClassA
{
    public objClassB instance;
}

Затем используйте XmlSerializer для экземпляра objClassA, и он автоматически поместит экземпляр b внутрь себя как дочерний.

...