使用xpath获取xml文件的两个属性

时间:2012-05-10 09:52:12

标签: java xml xpath xlink

我有一个xml文件,其标签如下:

<locator xlink:type="locator" xlink:href="https://www.google.co.in/" xlink:title="Google" xlink:show="replace" xlink:actuate="onRequest" xlink:role="website" rank="1"> </locator>

xml文件中有许多定位器标记,具有不同的角色和等级。

我可以使用@*[local-name()='role'来获取上述代码的作用。

现在我需要根据角色获取rank属性。 有没有办法一起获取两个属性和值?

我是Xpath的新手。请帮我解决一下这个。

2 个答案:

答案 0 :(得分:1)

//locator[@xlink:role = 'website']/@rank(前缀xlink与命名空间http://www.w3.org/1999/xlink的合适绑定)是选择rank元素的locator属性的示例rolewebsite的位置。

答案 1 :(得分:0)

  

我可以使用以上标记获得角色   @*[local-name()='role'

     

现在我需要根据角色获取rank属性。有没有   获取两个属性的方法和那些值一起吗?

使用

ExprStartYouDidntShow/@*[local-name()='role' or name()='rank']

其中 ExprStartYouDidntShow 是选择应选择其两个属性的元素的表达式

或者,如果您只有在role属性具有特定值时才需要获取这两个属性 - 例如"wantedValue",请使用:

   ExprStartYouDidntShow/locator[@*[local-name() = 'role'] = 'website']
                         /@*[local-name()='role' or name()='rank']