如何使用XmlReader执行嵌套读取



由于内存需求,我必须使用XmlReader来处理xml文件,所以我是这个类的新手。在烘焙异常内容之前,如何使用XmlReader执行嵌套读取?

我的意思是,我正处于xml文件的中间,在某个节点<p>上——我只想读到将</p>关闭到我提到的<p>

当使用对某些处理函数的递归调用时,这种"嵌套读取"(即不再继续的读取)非常有用。正常的Read将一直持续到文件的末尾。

听起来像是在寻找ReadSubtree方法——该方法将当前元素视为自己的文档,并为其返回XmlReader。关闭该读卡器后,原始读卡器将放置在read元素的结束标记之后。

关于你的问题有一句话:

正常的Read将一直持续到文件末尾。

好吧,不是自动的,但你是对的,你需要注意不要超过结束标记,而且没有办法确保其他组件在经过原始读取器时不会这样做。

使用ReadSubtree时需要注意的一点是:新读取器最初不会指向元素的开头标记,而是指向开头标记之前的位置。因此,在调用ReadSubtree之后,通常首先要在子树读取器上调用Read()一次。

最新更新