Здравствуйте! Я работаю с xPath для парсинга интернет-сайтов.
Есть код:
PHP:
скопировать код в буфер обмена
Код (Text): class parseOnePage{ public $list_url; public $list_base_xPath; public $list_each_xPath_relative; public $detail_base_xPath; public $list_xPath_expressions; public $detail_xPath_expressions; private function getElementList(){ $doc = new DOMDocument; $doc->load($this->$list_url); $xpath = new DOMXPath($doc); $tbody = $doc->getElementsByTagName('tbody')->item(0); $query = $this->$list_base_xPath; $list_base_elements = $xpath->query($query, $tbody); if($list_base_elements && count($list_base_elements)){ $list_base_element = $list_base_elements[0]; } else { return false; } $query = $list_each_xPath_relative; $list_each_element = $xpath->query($query, $this->$list_base_xPath); foreach($list_each_element as $element){ //Что здесь писать? } } }
Так у меня вопрос:
$list_each_element - это DOM-элемент каждого товара в списке. Внутри него нужно по xPath-запросу вытащить Наименование, Артикул и т.д. (xPath-формулы уже есть). Как это сделать? Примерно так:
$name = $element->(xPath-выражение) и т.д. Может как-то по-другому. Заранее буду благодарен за ответ.
|