SelectSingleNode没有命名空间

时间:2009-09-24 14:32:20

标签: .net xml

我正在使用.Net 2.0,无论命名空间如何,都需要SelectSingleNode XmlDocument,因为这听起来不对。

具体

XmlElement slipType = (XmlElement)document.SelectSingleNode("//Provenance1");

会将slipType设置为null,因为在查询时我不知道命名空间Provenance1。

2 个答案:

答案 0 :(得分:23)

您可以检查元素的 local-name ,并使用以下XPath表达式忽略命名空间:

//*[local-name()='Provenance1']

答案 1 :(得分:0)

尝试:

XmlElement slipType = (XmlElement)document.SelectSingleNode("//*:Provenance1");

或者:

XmlElement slipType = (XmlElement)document.SelectSingleNode("//@*:Provenance1");

表示属性......

不幸的是,这种结构只适用于XPath 2.0,而.NET只使用XPath 1.0。我意外地用2.0解析器测试了上面的代码,所以它不起作用。)

相关问题