【发布时间】:2013-12-01 20:49:36
【问题描述】:
我有两个类 A 和 B。A 用于 ROOT-Element,B 应该是 B 的数组。
public class A
{
public B[] b;
}
public class B
{
public string param1;
public string param2;
}
创建实例并填充数据如下所示:
A test = new A();
test.b = new B[2];
test.b[0] = new B();
test.b[1] = new B();
test.b[0].param1 = "b0-p1";
test.b[0].param2 = "b0-p2";
test.b[1].param1 = "b1-p1";
test.b[1].param2 = "b1-p2";
现在序列化:
System.Xml.Serialization.XmlSerializer ser = new System.Xml.Serialization.XmlSerializer(typeof(A));
System.IO.TextWriter wr = new System.IO.StreamWriter(@"c:\ser.xml");
ser.Serialize(wr, test);
wr.Close();
生成的 XML 如下所示
<?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">
<b>
<B>
<param1>b0-p1</param1>
<param2>b0-p2</param2>
</B>
<B>
<param1>b1-p1</param1>
<param2>b1-p2</param2>
</B>
</b>
</A>
但我想要这个:
<?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">
<b>
<param1>b0-p1</param1>
<param2>b0-p2</param2>
</b>
<b>
<param1>b1-p1</param1>
<param2>b1-p2</param2>
</b>
</A>
你能告诉我我做错了什么吗?
当面问候
【问题讨论】:
标签: c# xml arrays serialization