如何从.NET中的XmlReader读取嵌套元素?

时间:2015-10-13 13:31:25

标签: .net f# xmlreader

我正在尝试使用XmlReader类读取(相对)大型xml文件时获得最大性能。

以下是我当前(工作)代码的概述:

let reader = XmlReader.Create(stream)

while reader.Read() do

    if reader.NodeType = XmlNodeType.Element && reader.Name = "dimension" then
        ()
    elif reader.NodeType = XmlNodeType.Element && reader.Name = "c" then

        target <- reader.GetAttribute("r") |> Address.Parse

        use subReader = reader.ReadSubtree()

        while subReader.Read() do
            if subReader.NodeType = XmlNodeType.Element && subReader.Name = "f" then
                ()
            elif subReader.NodeType = XmlNodeType.Element && subReader.Name = "v" then
                ()

我担心的是subReader对象的分配在我的性能分析中出现占用了大量的时间,我想知道是否有更高效的方法来实现同样的事情 - 即阅读两个简单/非递归元素&#34; f&#34;和&#34; v&#34;在当前节点处进入某种数据结构以供后续解析。

0 个答案:

没有答案