0

我需要搜索一个 xml 文件,找到一个数据集,检查第二个 xml 文件,检查是否有相关数据,然后转到下一个数据集。

下面是一些示例代码来说明:

XmlReader XmlDoc1 = XmlReader.Create("~/data/xml/myxml1.xml",settings);
XmlReader XmlDoc2= XmlReader.Create("~/data/xml/myxml2.xml",settings);

using (XmlDoc1) {
    XmlDoc1.Open();
    //get a data node
    using(XmlDoc2){
        XmlDoc2.Open();
        //find related information... if it's there
        XmlDoc2.Close();
   }
   //do stuff
   XmlDoc1.Close();
}

我很确定上面的代码会产生错误,但是读取 XmlDoc1、获取数据集、关闭它、搜索 XmlDoc2、关闭它会太费时间……清洗、冲洗、重复。所以,我正在寻找一种快速的方法来完成上述工作。

在你问之前,我不能在这个站点上运行数据库,所以 XML 就足够了。

4

1 回答 1

1

同时打开两个阅读器没有问题。XmlDoc2但是,在处理它(通过using块)后,您不能再使用它。

XmlReader是只向前的,所以基本上你会在XmlDoc2每次迭代中运行。

如果速度是您关心的问题,您可以尝试让XmlDoc1成为一个XmlReader(当您从上到下运行一次时)并为内部 xml 使用建议XmlDocumentXDocument类之一。

于 2012-11-21T20:13:47.773 回答