2017-04-03 120 views
1

有人可以给我一个提示如何获得“一些text1”依赖于svg class =“svg svg-goal”吗?xpath之前的兄弟姐妹选择

这工作

$x("//br/../preceding-sibling::strong/a") 

这不起作用

$x("//svg[@class='svg svg-goal']/../preceding-sibling::span/strong/a") 

海尔HTML代码

<span class="event-p-name"> 
    <strong> 
     <a href="">Some text1</a> 
    </strong> 
    <small> 
     <br>Some text2</br> 
    </small> 
</span> 
<span class="event-type"> 
    <svg class="svg svg-goal"> 
     <use xlink:href="/public/themes/svg/symbol-defs.svg#football"></use> 
    </svg> 
</span> 

感谢

回答

1

对于<svg>元素(及其子元素)你需要使用//*[name()='svg']语法。请尝试以下:

//*[name()='svg' and @class='svg svg-goal']/../preceding-sibling::span/strong/ 
+0

工程就像一个魅力...谢谢 – Samuel

0

试试这个

//svg[@class='svg svg-goal']/preceding::span/strong/a 

结果

<a href="">Some text1</a>