我需要搜索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就足够了。
答案 0 :(得分:1)
同时打开两个读者没有问题。但是,在处置它之后(通过XmlDoc2
块),您无法重用using
。
XmlReader
仅向前推进,所以基本上每次迭代都会运行XmlDoc2
。
如果速度是您的关注点,您可以尝试让XmlDoc1
成为XmlReader
(当您从上到下运行一次时),并使用建议的{{1}之一内部xml的{或} XmlDocument
类。