首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >.NET 1.1中的XMLTextReader

.NET 1.1中的XMLTextReader
EN

Stack Overflow用户
提问于 2008-10-02 12:59:52
回答 6查看 621关注 0票数 0

我有一个读取XML文件的进程。它使用XMLTextReader类来实现这一点,因为它被认为是一个快速的、只向前的解析器/阅读器。

在1兆字节的测试文件中工作得很好,但在实时系统中处理12兆的文件时就完全停止了。

除了编写我自己的XML阅读器之外,还有其他解决方案吗?这并不是世界末日,但如果可能的话,我更喜欢使用可用的标准组件

EN

回答 6

Stack Overflow用户

发布于 2008-10-02 13:15:29

SAXExpat曾经真的很棒。Expat是XML解析器,几乎是一个参考实现。我记得我用它来读取一些通过TCP连接发送的同步XML文件,有时是非常大的文件(大约50mb),没有任何问题。那是在3/4年前,在.NET 1.1和非常糟糕的计算机上。

票数 1
EN

Stack Overflow用户

发布于 2008-10-02 19:47:17

如果问题出在XmlTextReader上,我会非常惊讶。

如果您花几分钟编写一个测试程序来创建一个XmlTextReader,并简单地使用Read()来读取文件中的每个节点,直到它到达文档的末尾,我打赌您会发现它会像一把热刀穿过黄油一样缩放您的12mb文件。如果我遇到这个问题,这是我要做的第一件事。

因为一旦您排除了XmlTextReader作为问题的根源,您就可以将注意力集中在实际导致问题的原因上--很可能是处理您正在读取的节点的代码,而不是读取节点的代码。

票数 1
EN

Stack Overflow用户

发布于 2008-10-02 13:05:48

我过去也遇到过类似的性能问题。我将其追溯到尝试针对DTD/模式进行远程解析。这是你做的吗?如果可能,请尝试将XmlTextReader.XmlResolver设置为null。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/162123

复制
相关文章

相似问题

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