XMLDocument与DataSet?它们是一样的吗?

时间:2010-07-13 12:22:03

标签: c# xml dataset

只是一个简单的问题。

除了你操纵它们的方式之外,XMLDocuments和DataSet几乎是一回事吗?我只是想知道速度问题。

我遇到了一些调用dataSet.getXML()的代码,然后遍历新的XMLDocument。

我只是好奇什么是性能差异,哪个是最好用的!

谢谢,

亚当

3 个答案:

答案 0 :(得分:8)

非常不同。

DataSet是相关表格记录的集合(主要关注数据库),包括变更跟踪。

XmlDocument是任意数据的树结构。你可以在两者之间进行转换。

对于“哪个最好”......你想做什么? 个人我很少(如果有的话)使用DataSet / DataTable,但有些人喜欢它们。我更喜欢一个对象(class)表示(可能通过反序列化),但在许多情况下xml处理很好。

然而,将DataSet写入xml然后查询xml似乎很奇怪。在 场景中,我只是直接访问原始数据。

答案 1 :(得分:2)

不,他们不是。 DataSet不会将其内部数据存储在XML中,而XMLDocument不会使用表/行结构来存储XML元素。您可以在严格的限制内从一个转换为另一个,但就是这样。其中一个最大的限制是DataSet要求数据符合严格的表/列格式,其中XmlDocument可以具有从一个XmlElement到下一个XmlElement的完全不同的结构。而且,XmlDocument的层次结构通常不能很好地映射到DataSet的表格结构。

.NET提供XmlDataDocument作为以表格方式处理XML数据的方式。你必须记住XmlDataDocument首先是一个XmlDocument。生成的DataSet只是查看底层XML数据的另一种有限方式。

答案 2 :(得分:0)

根据表的大小,linq到xml或xquery查询数据的速度可能比查看表更快。我不是肯定的,这是你必须测试自己的数据。