In silverlight i have xml like:
<A>
< A1>
<B>
< B1>a1.1</B1>
<B1>a1.2</B1>
</B>
< /A1>
< A1>
<B>
<B1>a1.3< /B1>
<B1>a1.4</B1>
</B>
</A1>
</A>
My class are like this A.cs
namespace Check
{
[XmlRoot(ElementName = "A")]
public class A
{
[XmlElement("A1")]
public List<A1> A1 { get; set; }
}
}
and A1.cs is:
namespace Check
{
[XmlRoot(ElementName = "A1")]
public class A1
{
[XmlArray("B")]
[XmlArrayItem("B1", typeof(string))]
public List<string> B { get; set; }
}
}
Class B.cs is
namespace Check
{
[XmlRoot(ElementName = "B")]
public class B
{
[XmlArray("B")]
[XmlArrayItem("B1", typeof(string))]
public List<string> B1 { get; set; }
}
}
And i try to serialize ike this, In Xml.cs:
namespace Check
{
public static class Xml
{
public static string ToXml(this object objectToSerialize)
{
var memory = new MemoryStream();
var serial = new XmlSerializer(objectToSerialize.GetType());
serial.Serialize(memory, objectToSerialize);
var utf8 = new UTF8Encoding();
return utf8.GetString(memory.GetBuffer(), 0, (int)memory.Length);
}
}
}
Ans Main Function class is :
namespace Check
{
public class ControlClass
{
public void Main()
{
var a = new A() ;
var xml = a.ToXml();
}
}
}
Is my approach to serialize correct ? If not please correct me ?
My output is:
<?xml version="1.0" encoding="utf-8" ?>
<A xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />