Проблема выражения Xpath - PullRequest
       1

Проблема выражения Xpath

0 голосов
/ 15 сентября 2010

Я хочу обработать (в реальном случае я использую DomDocument php) ссылку внутри:

Корпус:

<div class="d1">
  <span class="s1">
    <a class="myclass">my link</a>
  </span>
</div>

Мое решение, которое не удалось:

'//div[@class="d1"]/span[@class="s1"]/a[@class="myclass"]'

что я должен изменить в своем выражении xpath?

Edit: В реальном случае я имею в середине div перед span и другие теги. Так я решаю проблему, добавив / перед span:

'//div[@class="d1"]//span[@class="s1"]/a[@class="myclass"]'

Спасибо

Ответы [ 2 ]

1 голос
/ 16 сентября 2010

Ваш XPath кажется верным.Возможно, вы пытаетесь запросить документ XHTML?Тогда вы должны иметь в виду пространство имен XHTML:

// 1. registerXPathNamespace xhtml with your tool
// 2. query:
'//xhtml:div[@class="d1"]/xhtml:span[@class="s1"]/xhtml:a[@class="myclass"]'

просто идея ...

1 голос
/ 16 сентября 2010

Не могли бы вы попробовать

'// div [./@ class = "d1"] / span [./@ class = "s1"] / a [./@ class = "myclass"]'

Также, используя приведенный вами пример,

// a [./@ class = "myclass"]

не достаточно?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...