xpath предшествующий брат выбрать

может кто-нибудь подсказать, как получить «Some text1» в зависимости от svg class="svg svg-goal"?

Это работает

$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>

Спасибо


person Samuel    schedule 03.04.2017    source источник


Ответы (2)


Для элемента <svg> (и его дочерних элементов) вам необходимо использовать синтаксис //*[name()='svg']. Попробуйте ниже:

//*[name()='svg' and @class='svg svg-goal']/../preceding-sibling::span/strong/
person Andersson    schedule 03.04.2017

Попробуй это

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

Результат

<a href="">Some text1</a>
person Greg    schedule 03.04.2017