Как я могу использовать селектор xpath, чтобы получить цену из этой ячейки таблицы? - PullRequest
1 голос
/ 23 января 2012

1001 * данный *

<TD ALIGN="LEFT" VALIGN="top" WIDTH="35">&nbsp;</TD><TD ALIGN="LEFT" VALIGN="top" WIDTH="150" STYLE="font-size: 11px; font-family: arial" HEIGHT="65"> <a href="http://www.site.com/page/IDLM/DATA/VALUE/10001600"><B><i>Brand</i></B><BR>Part</a><BR>
$72.00
 </TD>

есть ли селектор xpath, который будет извлекать только цену? Я могу использовать

//td/text()

для извлечения

Array
(
    [0] => Â 
    [1] => 

    [2] => Â 
    [3] => Â 
    [4] =>  
    [5] => 
$72.00

    [6] => Â 
)

, а затем с помощью регулярного выражения отбрасывать неверные значения, но я думаю, что будет более надежным использовать правильный селектор xpath.

1 Ответ

1 голос
/ 23 января 2012

Есть много способов достичь этого. Выбор наилучшего зависит от вашего фактического, реального источника информации. На основе предоставленного вами образца я бы развернул последний элемент BR:

//TD/BR[last()]/following-sibling::text()[1]

Это выражение выбирает первый текстовый узел, который следует за последним элементом BR в любом TD в документе. Обратите внимание, что этот узел содержит начальные и конечные пробелы. Оберните выражение с помощью функции normalize-space, чтобы удалить их.

...