问题描述
我正在操作一个比较大的xml文件,使用selectnodes方法取得很多满足条件的XmlNode,返回在XmlNodeList中数量较大(11841个查询结果),使用XmlNodeList.Count取得个数时具慢,使用foreach(XmlNodetmpNodeinXmlNodeList)遍历也很慢,即便我再循环里面什么也不做.....我知道使用SelectNodes返回的XmlNodeList是XPathNodeList类型,难道它不是ArrayList实现?是链表?为什么效率这么低,有什么好的办法吗?(我必须使用XmlDocument.SelectNodes方法)
解决方案
解决方案二:
因为它把数据放到内存中了,所以数据小的时候看不出来当数据很多的时候效率就出来了。
解决方案三:
XmlNodeList是实现了IEnumerable接口的类//IEnumerable://返回一个循环访问集合的枚举数。//可用于循环访问集合的System.Collections.IEnumerator对象。
时间: 2024-10-31 02:59:23