2013-01-02 121 views
-1

我有一个拥有大量节点集合的xmldocument。 xmldocument是从字符串变量中加载的。我正在尝试使用xpath获取节点集合。我的问题是,当我运行应用程序没有调试集合有几个节点(大约5或6),但如果我调试,并在获取节点收集线按F11,我得到不同数量的节点根据时间我暂停点。我不知道发生了什么。是否因为内存处理?或者我做错了什么。 (注意:我正在从foreach循环内收集的DOM中删除节点)使用xpath获取节点集合

有什么想法吗?

if i pause at return, the collection has only 6 nodes.

if i pause at foreach, the collection has 556 nodes

+0

为什么这个Qn标记为-1 – Rifky

回答

0

XmlNodeList实施可能会懒洋洋地建立起来。在迭代集合的同时操作文档可以更改集合。所以通常情况下,如果你想删除在DOM XmlNodeList中找到的节点,你可以倒退,例如for (int i = lstDel.Count - 1; i >= 0; i--) { lstDel[i].ParentNode.RemoveChild(lstDel[i]); }

如果您仍然有问题,请考虑发布代码示例,以便我们重现问题,单独使用屏幕截图很难说明发生了什么。