使用XSLT检索带有名称空间的XML属性时出现问题

时间:2016-02-09 17:56:59

标签: xml xslt

基本上,我有这样的XML:

<com:myObject xmlns="myNamespaceUrl" xmlns:ref="myUrl/reference" xmlns:type="myUrl/type" xmlns:com="myUrl/common">
   <com:myNode help="12" ref:label="myLabel" type:cen="true">text</com:myNode
</com:myObjet>

当我尝试获取节点的值时:

"com:myObject/@help"

我已经&#34; 12&#34;。

但我的问题是当我尝试获取节点的值时:

"com:myObjet/@ref:label""com:myObject/@type:cen"

我没有结果。所以我相信它来自命名空间,但我不确定。我也在我的XSL文件中声明了名称空间。

我使用 jaxp-api.1.4.2插件。

1 个答案:

答案 0 :(得分:1)

com:myObjet/@ref:label

com:myObject/@type:cen

不返回任何内容,因为myObject没有这些属性。它们属于myNode。

//com:myNode/@ref:label

返回预期值。请注意,xpath是在上下文中计算的,因此根据您执行xpath的位置,您可能需要包含前导//