Как извлечь это значение с помощью x-path? - PullRequest
2 голосов
/ 04 февраля 2011

Исходный HTML

  <div class="number value">14,818</div>
              <div class="number delta-negative">
                     -10.19%</div>
    <div class="number value">58,016</div>
              <div class="number delta-positive">          
                    +44.38%</div>
     <div class="number value">119,561</div>
              <div class="number delta-negative">           
                    -11232</div>

Код

$doc = new DomDocument(); 
$doc->loadHTMLFile('http://example.com/source.html/');
$xpath = new DomXpath($doc);  
$query = '//div[@class="number value"]//'; 
$nodes = $xpath->query($query);  
$urls = array();  
foreach ($nodes as $node) { 
$href = trim($node->nodeValue);
$urls[] = $href;}
$datap = implode(',', $urls); 
echo $datap;

Я хочу извлечь значения 14,818 , 58,016 и 119,561 но приведенный выше код не работает ... почему?

1 Ответ

0 голосов
/ 04 февраля 2011

Ваш запрос для class="number_value", в то время как ваш HTML говорит class="number value".

Измените один из них (возможно, HTML), чтобы отразить это. (Вопрос отредактирован для исправления ошибки.)


Edit:

Выполнение вашего запроса приводит к ошибке неверного запроса. Глядя на ваш запрос, становится понятно почему - у вас есть две косые черты. Они недействительны, и за ними ничего не следует.

Попробуйте это:

$query = '//div[@class="number value"]'; 
...