只是一个简单的问题。
除了你操纵它们的方式之外,XMLDocuments和DataSet几乎是一回事吗?我只是想知道速度问题。
我遇到了一些调用dataSet.getXML()的代码,然后遍历新的XMLDocument。
我只是好奇什么是性能差异,哪个是最好用的!
谢谢,
亚当
答案 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查询数据的速度可能比查看表更快。我不是肯定的,这是你必须测试自己的数据。