【发布时间】:2018-04-11 12:45:52
【问题描述】:
我需要序列化一个与此相关的类:
public class Root {
public string[] Elements {get;set;}
}
到这样的 XML:
<?xml version="1.0" encoding="utf-8"?>
<Root>
<Element_01>1st element</Element_01>
<Element_02>2nd element</Element_02>
<Element_03>3rd element</Element_03>
<Element_04>4th element</Element_04>
</Root>
当对象像这样被实例化时:
var root = new Root {
Elements = new[] {
"1st element", "2nd element", "3rd element"
"4th element"
}
};
使用System.Xml.Serialization.XmlSerializer。
我也必须反过来做。
有什么方法可以实现吗?
【问题讨论】:
-
我不认为你可以用
XmlSerializer做到这一点。但是我不明白为什么你认为你需要这个。您可以使用XmlArrayItemAttribute对列表进行序列化。然后这将序列化为<Root><Element>...</Element><Element>...</Element></Root>。 -
@HimBromBeere 谢谢,但这对我没有帮助,因为 XML 与 API 相关,并且必须与上面的完全一样。
-
实现的唯一方法是实现
IXmlSerializable。 -
你必须使用序列化程序还是也可以使用
XDocument之类的东西? -
@HimBromBeere 我也很害怕,但我希望有另一种方法......
标签: c# xml xmlserializer