在C#中将对象数组转换为XML

时间:2011-10-14 17:46:28

标签: c# linq linq-to-xml

我知道没有内置转换器将对象数组转换为XML。有没有一种快速的基本方法来从数组中创建XML来帮助我在这个和我拥有的XML之间进行LINQ to XML连接?

2 个答案:

答案 0 :(得分:12)

您可以使用Linq to XML,从现有数据结构映射到XML非常容易,即:

int[] values = { 1, 2, 17, 8 };

XDocument doc = new XDocument();
doc.Add(new XElement("root", values.Select( x=> new XElement("item", x))));

产生以下输出:

<root>
  <item>1</item>
  <item>2</item>
  <item>17</item>
  <item>8</item>
</root>

答案 1 :(得分:3)

您始终可以使用XmlSerializer将C#对象列表转换为XML文档。序列化的结果可以通过使用元数据属性来定制,例如,指定根节点或要忽略哪个类属性等等......您肯定需要应用这些属性以使得生成的XML尽可能符合符合您的要求。

Here is a basic tutorial on serializing an Object to XML: