深度大于 3 的 c# 数据集

本文关键字:数据集 大于 深度 | 更新日期: 2023-09-27 18:35:16

我想使用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> -Node,但我不知道如何继续,因为单个项目不是我猜的表。那么,如何访问深度三(数据->项目->项目)中的节点?我认为这必须以某种方式工作,因为读取文件并将其输出到控制台上确实有效。

深度大于 3 的 c# 数据集

而不是

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

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

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

如何从XDocument获取XML节点

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

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

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

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