c#深度超过三的数据集

时间:2012-05-23 11:55:44

标签: c# xml dataset

我想使用xml文件存储我的程序数据。 xml的结构如下所示:

<?xml version="1.0" standalone="yes"?>
<Data>
    <Projects>
        <Project>
            <Name>Name1</Name>
            <Description>Description1</Description>
        </Project>
        <Project>
            <Name>Name2</Name>
            <Description>Description2</Description>
        </Project>
    </Projects>
</Data>

我想使用DataSet,因为它提供了对xml结构的轻松读写。但问题是,如何读取和写入<Project> - 节点的值?我可以访问<Projects> - 节点,但后来我不知道如何继续,因为我想单个项目不是表格。那么,我如何访问深度三中的节点(Data-&gt; Projects-&gt; Project)?我认为这必须以某种方式工作,因为读取文件并在控制台上输出它确实有效。

3 个答案:

答案 0 :(得分:0)

您最好尝试使用具有对象列表的类Data,它更容易序列化/反序列化。我不认为用数据集更容易读/写xml。

答案 1 :(得分:0)

而不是DataSet我建议你看一下使用XDocument和XElement,因为它们可以提供更好的API来访问XML结构中的项目。

http://msdn.microsoft.com/en-us/library/system.xml.linq.xdocument.aspx

可以帮助您入门的另一个链接:

How to Get XML Node from XDocument

答案 2 :(得分:0)

听起来DataSet不是你走的正确方法。它不是用于读写任意XML的通用机制。

如果您使用的是.NET Framework 4或更高版本,我建议使用XDocument代替DataSet

如果您使用的是较旧的.NET Framework版本,那么还有很多其他选项,包括XmlDocumentXmlReaderXmlSerlializer。选择哪个取决于数据的来源以及处理方式。