【问题标题】:Converting array of objects to XML in C#在 C# 中将对象数组转换为 XML
【发布时间】:2011-10-14 17:46:27
【问题描述】:

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

【问题讨论】:

  • 您的意思是除了将标签/值对列表写入文本文件之外吗?
  • 您可能不必将对象转换为 XML;当您使用 LINQ to XML 时,这不是进行连接的要求。您应该提供更多详细信息,例如您尝试编写的查询类型以及您的对象的类是什么样的。

标签: c# linq linq-to-xml


【解决方案1】:

你可以使用 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>

【讨论】:

  • 整洁!有什么方法可以对多维数组做同样的事情吗?对于string[,] values
【解决方案2】:

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

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

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-29
  • 1970-01-01
  • 1970-01-01
  • 2022-01-18
相关资源
最近更新 更多