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

11

我知道没有内置的转换器可以将对象数组转换为XML。是否有一种快速而基本的方法可以从数组中创建一个XML,以帮助我在此XML和另一个XML之间执行LINQ to XML连接?


除了将标签/值对列表写入文本文件之外,你的意思是什么? - mbeckish
你可能不需要将对象转换为XML;这并不是使用LINQ to XML进行连接的要求。你应该提供更多细节,比如你正在尝试编写什么类型的查询以及你的对象的类是什么样子的。 - Jacob
2个回答

17

你可以使用 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
太好了!我们能否以同样的方式处理多维数组呢?例如 string[,] values - slayernoah

4
您可以始终使用 XmlSerializer 将 C# 对象列表转换为 XML 文档。通过使用元数据属性来指定根节点或要忽略的类属性等,可以自定义序列化结果。您肯定需要应用这些属性,以使生成的 XML 尽可能符合您的要求。 这里有一个关于将对象序列化为 XML 的基本教程:

还可以参考这篇文章,其中有很多序列化对象列表的例子:https://dev59.com/Z3M_5IYBdhLWcg3w02z8 - Nathan Anderson
第一个URL不再可用。 - César León

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接