c#将带有重复元素的XML读入DataSet

时间:2014-09-25 07:45:53

标签: c# xml dataset

我正在尝试使用DataSet.ReadXML将XML文件读入DataSet。 问题是某些节点具有相同名称的重复元素。导入数据集时会忽略这些重复元素。

例如:

<node1>
    ---
    <element>valueA</element>
    <element>valueB</element>
</node1>
<node2>
    ---
    <element>valueA</element>
    <element>valueC</element>
</node2>

欢迎任何建议或协助。

1 个答案:

答案 0 :(得分:1)

System.Data.DataSet可能不是用户友好的使用XML数据的方式,尤其是当您没有随时可用的模式时。可以使用各种替代方案,可能最简单的方法是使用System.Xml.Linq命名空间中的类(在.NET 3.5+中可用),例如:

var xDoc = XDocument.Parse(YOUR_XML);
//get contents of all `element` elements in `node1` as list
var result = xDoc.Root.Descendants("node1")
                      .Single()
                      .Elements("element")
                      .Select(el => el.Value)
                      .ToList();