首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >可倒回的XML阅读器

可倒回的XML阅读器
EN

Stack Overflow用户
提问于 2011-11-14 01:01:34
回答 2查看 221关注 0票数 1

我已经在谷歌上查过了,相对来说是空的。在我开始编写自己的XML解析器之前,我想我应该在这里问一下:我正在寻找一个低资源、快速、可回绕(或仅向后、非缓存)的XML-Reader。由于我正在使用的一些数据结构,.NET附带的只向前的XMLReader将花费大量的时间/资源来执行我想要的那种解析,并且使用XMLDocument将整个文档加载到内存中最终会破坏机器。

那么,有没有人知道让XMLReader从一个元素到另一个元素反向查找的方法(没有一些疯狂的开销)?或者,有没有人知道后向搜索XML Reader?或者我应该只写我自己的阅读器?

谢谢,-R

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-11-14 04:42:05

文件大小在不久的将来可能会突破40 GB的限制

对于您想要做的事情,XML不是一个好的候选者。处理如此大量的数据,数据库的效率会高得多。您应该将数据从XML加载到数据库中,然后就可以处理该数据库了。

票数 2
EN

Stack Overflow用户

发布于 2011-11-14 01:21:28

您可以尝试使用DataSet.ReadXML()将XML文件加载到DataSet对象中。它适用于许多格式清晰的XML文件(大小小于1 1GB )。然后,您可以使用DataTable.Select语法在DataSet内的DataTables中搜索数据。

如果您有一个示例XML文件,可以尝试使用我开发的这个玩具应用程序加载它,该应用程序将XML加载到DataSet中,并在网格中显示DataTables以供编辑:http://www.dot-dash-dot.com/files/WTFXMLSetup_1_9_0.msi。这将显示您的XML是否完全适合DataSet。

显然,正如我在上面的评论中指出的那样,使用任何工具在XML中处理40 as都太大了-它应该在数据库中。

该项目的源代码位于:http://www.dot-dash-dot.com/files/wtfxml.zip

对于所有投反对票的人,请注意事件的时间表:

代码语言:javascript
复制
5 hours ago - asked (with no size criteria) and initially answered as above
4 hours ago - size criteria mentioned
4 hours ago - My comment: too big for XML, use a database
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8113158

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档