下面是一些示例代码来说明:
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就足够了。
发布于 2012-11-22 04:13:48
同时打开两个阅读器是没有问题的。但是,在(通过using块)释放XmlDoc2之后,您不能重用它。
XmlReader是只向前的,所以基本上每次迭代都要通过XmlDoc2运行。
如果您关心的是速度,您可以尝试让XmlDoc1成为一个XmlReader (因为您从上到下遍历过它一次),并对内部xml使用建议的XmlDocument或XDocument类之一。
https://stackoverflow.com/questions/13501155
复制相似问题