Articles of domxpath

XPATH не работает над HTML

У меня есть код, который читает HTML-файл с локального веб-сервера localhost а затем преобразует его в XHTML с tidy . Затем я загружаю этот XHTML в свой DOM . код выглядит следующим образом: <?php function getXHTML($html) { $options = array("output-html" => true,"quote-nbsp" => true, "drop-proprietary-attributes" => true,"drop-font-tags" => true,"drop-empty-paras" => true,"hide-comments" => true); $tidy=new tidy(); […]

DomXPath с DOMDocument для получения URL-адреса класса <img>

Я пишу небольшой скрипт скрепера, который найдет URL-адрес изображения с определенным именем класса. Я знаю, что мои cURL и DOMDocument работают нормально, и даже DomXPath действительно (насколько я могу судить, ошибок нет). Но я изо всех сил пытаюсь понять, как получить URL-адрес результатов запроса xpath. Мой код: $dom = new DOMDocument(); @$dom->loadHTML($x); $xpath = new […]

Запрос PHP DOMXPath с использованием innerHTML / nodeValue элемента для поиска и возврата элемента

Не могли бы вы помочь мне с правильным синтаксисом для использования, когда вы хотите проверить innerHTML / nodeValue элемента? У меня нет проблем с именем, но возраст находится в пределах простого элемента div. Каков правильный синтаксис, используемый вместо «НЕ УВЕРЕН, ЧТО ПОЛОЖИТЬ ЗДЕСЬ» ниже. $ html – это страница из Интернета Имя человека находится в […]

PHP XPath. Как вернуть строку с тегами html?

<?php libxml_use_internal_errors(true); $html = ' <html> <body> <div> Message <b>bold</b>, <s>strike</s> </div> <div> <span class="how"> <a href="link" title="text">Link</a>, <b> BOLD </b> </span> </div> </body> </html> '; $dom = new DOMDocument(); $dom->preserveWhiteSpace = false; $dom->strictErrorChecking = false; $dom->recover = true; $dom->loadHTML($html); $xpath = new DOMXPath($dom); $messages = $xpath->query("//div"); foreach($messages as $message) { echo $message->nodeValue; } Этот […]

Убедитесь, что domnodelist-> item (x) -> nodeValue == "nbsp;"

Я вошел в систему и взял страницу возврата с помощью CURL , загрузил ее с помощью DOMDocument и затем запросил ее с помощью DOMXPATH (чтобы найти «table.essgrid tr»). (Затем я также запрашиваю результат, чтобы найти дочерние td и) с результатами, results->item(2)->nodeValue – это либо дата, либо то, что эхо в браузере как &nbsp; или , […]

DOMElement, похоже, не удаляется из DOMNodeList

Plase, помогите! Нужно удалить 1-й элемент из DOMNodeList $myDivs , но фактическое удаление не происходит – элемент остается. $dom = new DOMDocument(); $dom->loadHTML($file); $xpath = new DOMXPath($dom); $myDivs = $xpath->query('//div[@data-name|data-price]'); usleep(1); //Must REVERSE iterate DOMNodeList. for ($i = $myDivs->length – 1; $i >= 0; $i–) { //Deleting 1st element of (DOMNodeList) $myDivs, containing advertisement product […]

DOMXPath получает родного брата в зависимости от предыдущего значения брата

Предположим, у меня это: <foo> <bar>CCC</bar> <baz>sometexthere</baz> </foo> <foo> <bar>AAA</bar> <baz>sometext</baz> </foo> <foo> <bar>DDD</bar> <baz>something</baz> </foo> Теперь я хочу получить значение baz , которое появляется сразу после бара со значением AAA (!, но только со значением AAA !). Я не знаю, сколько у меня «foo», поэтому я не могу точно написать что-то вроде: $element->item(0) // […]

DOMXpath | Выберите самые внутренние divs

Я ищу способ выбора самого внутреннего div с PHP например: <div> <div> <div> – </div> </div> <div> <div> <div> – </div> </div> </div> </div> DIV , содержащий NodeList – , будет выбран в NodeList Я использую DOMDocument и DOMXpath, чтобы бросить html, heres и пример того, что один из моих методов, чтобы вы могли видеть, […]

Как получить номер узла на основе родительского узла динамически из файла xsd с помощью PHP

Я взял имена тегов из xsd-файла и также запомнил в базу данных, но не могу назначить ссылочный номер на основе родительского узла, используя php. мой XSD sample.xsd <?xml version="1.0" encoding="ISO-8859-1" ?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="shiporder"> <xs:complexType> <xs:sequence> <xs:element name="orderperson" type="xs:string"/> <xs:element name="shipto"> <xs:complexType> <xs:sequence> <xs:element name="name" type="xs:string"/> <xs:element name="address" type="xs:string"/> <xs:element name="city" type="xs:string"/> <xs:element name="country" […]

xpath: извлекать данные из узла с помощью xpath

Я хочу извлечь только ранг продаж (который в этом случае равен 5) Amazon Best Sellers Ранг: № 5 в книгах (см. Top 100 в книгах) С веб-страницы: http://www.amazon.com/Mockingjay-Hunger-Games-Book-3/dp/0439023513/ref=tmm_hrd_title_0 До сих пор я дошел до этого, который выбирает «Amazon Best Sellers Rank:»: //li[@id='SalesRank']/b/text() Я использую PHP DOMDocument и DOMXPath .