是否可以使用XPath设置属性值?

时间:2012-03-15 15:25:02

标签: xpath attributes

是否可以使用XPath设置属性值,如下所示?

    XPathNavigator xNav = doc.CreateNavigator();
    xNav.MoveToAttribute("requestID", String.Empty);

    xNav.SetAttributeValue??  // need correct method to set a (new) value for current node-attribute..

1 个答案:

答案 0 :(得分:1)

最有可能(在您未显示的代码中),XPathNavigator是在XPathDocument之外构建的。根据定义,XPathDocument是只读的(这就是效率更高的原因)。

来自MSDN documentation

  

XPathDocument对象创建的XPathNavigator对象是   由XmlDocument对象创建的XPathNavigator对象时为只读   可以编辑。

如果要使用DOM更新节点,则必须使用其他对象 - 例如XmlDocument。

当然,人们很久(7 - 8年)就意识到DOM并不是处理XML的最佳方式。

我绝对建议使用XSLT进行XML处理 - 这是一种专为树转换设计的语言