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