0

我不想对 URI 进行硬编码,然后必须先分配前缀,然后才能使用 XPath 表达式从 XML 文档中选择节点。是否可以通过编程方式检索此信息?

这是唯一的方法吗?

string uri = xml.SelectSingleNode("*").Attributes["xmlns"].Value?
4

2 回答 2

3

我可以建议的唯一好的选择(假设您想按名称专门选择节点)是使用local-name()

XmlNode foundNode = xml.SelectSingleNode("/*[local-name() = 'a']/*[local-name() = 'b']/*[local-name() = 'c']");
于 2013-01-17T02:49:08.193 回答
0

您可以查询文档以找出它使用的命名空间。例如,XPath 表达式 namespace-uri(/*) 将找到用于最外层元素名称的命名空间。

于 2013-01-17T08:33:46.530 回答