以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 Dot NET,C#,ASP,VB 』  (http://bbs.xml.org.cn/list.asp?boardid=43)
----  [求助]XMLNodeReader的问题?  (http://bbs.xml.org.cn/dispbbs.asp?boardid=43&rootid=&id=9326)


--  作者:stonewx
--  发布时间:8/12/2004 3:31:00 PM

--  [求助]XMLNodeReader的问题?
XMLNodeReader用于只读只进的读取XML文件,按照文档如果文档很大时,可以使用以提高速度,效果如SAX。

用法是这样的:

Dim doc As New XmlDocument()
doc.Load("MyXml.xml")
Dim nodereader As New XmlNodeReader(doc)
While nodereader.Read()
   ' Read the XmlDocument as a stream of XML
End While


问题是如果MyXML文件很大,而要先Load,再用XMLNodeReader,如何能达到SAX的效果??

除非使用doc.Load("MyXml.xml")时并没有在内存中构造DOM,没有读进内存。

我是不太清楚,doc.Load("MyXml.xml")已经耗时载入了,而XMLNodeReader则是为了可以达到快速的目的。两者好像有点冲突,搞不太清楚。

我的目的其实:

  读写一个巨大的XML文件,因为很大所以用XMLDocument.Load方法很耗时,所以我想能便用类似SAX的方法,只读只进地查找到我的元素节点,然后用XMLDocument.Load载入进行随时访问。
XMLNodeReader、XMLtextReader好象可以达到目的,但其需要先XMLDocument.Load载入整个文档,我搞不太清楚的是这点,请高手指点,谢谢!!!


W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
31.250ms