1

只是一个简单的问题:

如果我有一个元素说

<element a:lol="." a:rofl="." b:lol="." b:rofl="." lol="." rofl="."/>

我知道我可以选择命名空间下的所有a属性@a:*

如何选择没有任何命名空间的所有属性?

我知道这@*[namespace-uri()='']行得通,但我希望有更紧凑的东西——比如关键字前缀。例如:@none:*

4

2 回答 2

1

@*[namespace-uri() = '']在我看来是个好方法。

于 2011-11-25T15:27:03.633 回答
1

您还可以使用

@*[name() eq local-name()]

在 XPath 中,任何无前缀的名称都被视为“无命名空间”,因此该表达式仅选择无前缀的名称,即“无命名空间”中的名称。

于 2011-11-25T19:17:10.920 回答