是否可以使用XPath设置属性值,如下所示?
XPathNavigator xNav = doc.CreateNavigator();
xNav.MoveToAttribute("requestID", String.Empty);
xNav.SetAttributeValue?? // need correct method to set a (new) value for current node-attribute..
答案 0 :(得分:1)
最有可能(在您未显示的代码中),XPathNavigator是在XPathDocument之外构建的。根据定义,XPathDocument是只读的(这就是效率更高的原因)。
“ XPathDocument对象创建的XPathNavigator对象是 由XmlDocument对象创建的XPathNavigator对象时为只读 可以编辑。“
如果要使用DOM更新节点,则必须使用其他对象 - 例如XmlDocument。
当然,人们很久(7 - 8年)就意识到DOM并不是处理XML的最佳方式。
我绝对建议使用XSLT进行XML处理 - 这是一种专为树转换设计的语言。