使用xpath获取节点集合

时间:2013-01-02 04:22:11

标签: xpath xmldocument

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

任何想法?

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

if i pause at foreach, the collection has 556 nodes

1 个答案:

答案 0 :(得分:0)

XmlNodeList实施可能会懒散地构建。在迭代集合时操作文档可以更改集合。通常,如果要删除在DOM XmlNodeList中找到的节点,则可以向后执行此操作,例如for (int i = lstDel.Count - 1; i >= 0; i--) { lstDel[i].ParentNode.RemoveChild(lstDel[i]); }

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