Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 选择不带命名空间的SingleNode_.net_Xml - Fatal编程技术网

.net 选择不带命名空间的SingleNode

.net 选择不带命名空间的SingleNode,.net,xml,.net,Xml,我正在使用.Net 2.0,需要从XmlDocument中选择SingleNode,而不管名称空间如何,这听起来可能是错误的 具体地说 XmlElement slipType = (XmlElement)document.SelectSingleNode("//Provenance1"); 将slipType设置为null,因为我不知道在查询时名称空间Provenance1是否存在。请尝试: XmlElement slipType = (XmlElement)document.SelectSi

我正在使用.Net 2.0,需要从
XmlDocument
选择SingleNode
,而不管名称空间如何,这听起来可能是错误的

具体地说

XmlElement slipType = (XmlElement)document.SelectSingleNode("//Provenance1");
slipType
设置为null,因为我不知道在查询时名称空间Provenance1是否存在。

请尝试:

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

对于属性


不幸的是,这种构造只适用于XPath2.0,而.NET只使用XPath1.0。我意外地用2.0解析器测试了上述代码,因此它不起作用。)

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

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

这抛出了一个XPathException/*:provence1有一个无效的令牌。我已经用.NET 3.5对它进行了测试,在那里它也崩溃了。但是,它是一个有效的XPath构造。不幸的是,我已经测试过XPath2.0。但是.NET只使用XPath1.0,而且.NET不太可能支持2.0。。。
//*[local-name()='Provenance1']