【问题标题】:Why XmlDocument throw when doing this XPath request?为什么在执行此 XPath 请求时会抛出 XmlDocument?
【发布时间】:2009-02-28 22:24:50
【问题描述】:
var xmlDoc = new XmlDocument();
xmlDoc.Load("XMLFile1.xml");
XmlNamespaceManager manager = new XmlNamespaceManager(xmlDoc.NameTable);
manager.AddNamespace("frbny", "urn:toto");
var curs = xmlDoc.SelectNodes("/frbny:DataSet/frbny:Series/frbny:Key/frbny:CURR");
var values = xmlDoc.SelectNodes("/frbny:DataSet/frbny:Series/frbny:Obs/frbny:OBS_VALUE");

为什么这段代码不起作用?它与第一个 xmlDoc.SelectNodes 一起抛出,说他没有找到命名空间管理器或 XsltContext...

我做了和这里一样的事情:http://support.microsoft.com/kb/318545

【问题讨论】:

    标签: .net xml xpath


    【解决方案1】:

    您没有将命名空间管理器传递给选择节点调用,而是在 xpath 中使用命名空间。

    var curs = xmlDoc.SelectNodes("/frbny:DataSet/frbny:Series/frbny:Key/frbny:CURR", manager); 
    

    将阻止异常。

    【讨论】:

      猜你喜欢
      • 2017-04-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多