Xml让人郁闷的SelectNodes方法
发布时间:2020-12-16 02:12:24 所属栏目:百科 来源:网络整理
导读:SelectNodes(xpath,namespace)方法中 无论是xmlDoc.SelectNodes(xpath,namespace) //假设xmlDoc为根节点, 整个文档下的查询 还是xmlDoc.ChildNodes[i].SelectNodes(xpath,namespace) // 节点下的查询 两个查询的结果一样:都会把整个文档符合xpath语法条件的都
SelectNodes(xpath,namespace)方法中
无论是xmlDoc.SelectNodes(xpath,namespace) //假设xmlDoc为根节点,整个文档下的查询 还是xmlDoc.ChildNodes[i].SelectNodes(xpath,namespace) // 节点下的查询 两个查询的结果一样:都会把整个文档符合xpath语法条件的都给查出来了 事实上我们所要的只是要在某一节点下符合xpath语法的结果 经过一鄱查询与研究解决之道后... 发现用xmlDoc.ChildNodes[i].Clone().SelectNodes(xpath,namespace)可以解决 即克隆出一节点后,再从克隆的节点中查询即可找出所需要的结果 但另一问题产生了,既然查询的结果是克隆后出来,那就算结果节点被改变后,原来的xmlDoc也不会有变化 要关联变化,暂时的方法是遍历xmlDoc.ChildNodes[i],从中找出符合条件的节点,再将结果节点进行替换 总结: 既然最后还要遍历替换结果,那之前的克隆节点查询显得有点就多余了,一开始直接遍历不就完了 结论: 那在某一节点下的Node.SelectNodes方法还有意义么? SelectNodes只能用在整个xml文档中查询了! 编辑下最终答案: 今天回头又遇到,记录一下,正确的写法是:子节点.SelectNodes("descendant::节点名称",namespace) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读