Articles of xpath

Получить весь лист из сложного XML с атрибутами

У меня есть такой XML-файл myxml.xml <?xml version="1.0" encoding="utf-8"?> <products nb="2" type="new"> <product ean="12345677654321"> <sku>Product1</sku> <parameters> <short_desc> Short description of the product1 </short_desc> <price currency="USD">19.65</price> </parameters> </product> <product ean="12345644654321"> <sku>Product2</sku> <parameters> <long_desc> Long description of the product2 </long_desc> <price currency="USD">19.65</price> <vat>20</vat> </parameters> </product> </products> Я бы сделал такой массив /products/@nb /products/@type /products/product/@ean /products/product/sku /products/product/parameters/short_desc /products/product/parameters/long_desc […]

как получить все атрибуты с помощью php xpath

У меня есть один файл XML: – <products> <product_id value="1"> <tab_id value="251"> <dist_region value="5" /> <dist_region value="10066" /> <dist_region value="10069" /> </tab_id> </product_id> </products> Я использую этот xpath: list($prid) = $product->xpath("//dist_region[@value]/@value"); $prid=(string)$prid; if(strlen(trim($prid))==0) { echo ' Is not Match In Product'; exit; } echo $prid; и получить результат: – 5 Я хочу вывести как: – […]

Использование cURL и simpleXMLElement для извлечения данных. Как получить значение элемента XML после XPATH?

У меня возникают проблемы с извлечением данных из объекта SimpleXMLElement. Вот основы кода, который я использую: curl_setopt( $ch, CURLOPT_URL, $URL ); $html = curl_exec( $ch ); $html = $tidy->parseString( $html, $tc, 'utf8' ); $tidy->cleanRepair(); $html = $tidy->body()->value; $xml = new SimpleXMLElement( $html ); $xml = $xml->xpath( "//ul[@id='wxoptions']/li[3]/a" ); //Your XPATH print_r( $xml ); Это переход […]

DOMDocument и XPath, URL не передан

У меня есть эта часть кода, я сначала хочу проверить, существует ли объект на странице, если это так, он должен выбрать URL-адрес на подробной странице этого объекта. Затем на этой странице я хочу проверить определенные части, независимо от того, существуют они или нет, а затем вернуть TRUE или FALSE для каждой части на основе этого […]

Проверка значения атрибута Xpath с переменной, переданной с помощью PHP

просто быстрый вопрос, пытался разными способами достичь этого, но закончился без успеха. Я пытаюсь проверить значение атрибута с помощью xpath, и если значение атрибута соответствует, я изменяю параметры для этого тега в xml. Это работает: $obj= $xml->xpath('/document/item[@id = "a12sd"]'); Это не работает, потому что мне нужно передать значение через переменную, чтобы проверить значение атрибута $checkID […]

PHP, как установить цвет для определенных ключевых слов (текст) в скребковых данных

Попытка сделать что-то немного сложнее, где я устанавливаю цвет для заданных ключевых слов для эха, который собирается из веб-соскабливания. Я получил ответ один раз, но не смог заставить его фактически изменить любые цвета. Вот код, с которым я работаю. <?php $doc = new DOMDocument; // djia/nas/sp current values $doc->preserveWhiteSpace = false; // Most HTML Developers […]

Как запросить узлы <entry> из фида ATOM

Я могу запросить узлы description в RSS- канале и вернуть результат следующим образом: $xpath = new DOMXPath($xmlDoc); $items = $xpath->query('/rss/channel/item/description/..'); foreach($items as $number => $item){} Но он ничего не возвращает, когда я запрашиваю узлы entry из фида Atom, подобные этому (в котором я следую тому же шаблону, что и в RSS выше): $xpath = new […]

(PHP) Настройка цветов для определенных текстовых слов в эхо?

Увидел вопрос об этом, но не уверен, как заставить его работать именно с моим существующим кодом. Это какой-то php, который я использую, это получение текстовых данных через scrape <?php $doc = new DOMDocument; // djia/nas/sp current values $doc->preserveWhiteSpace = false; // Most HTML Developers are chimps and produce invalid markup… $doc->strictErrorChecking = false; $doc->recover = […]

php xpath оценить дубликаты данных, получить только первую строку

Это мой PHP-код: <?php error_reporting(E_ALL); ini_set("display_errors",1); ini_set('max_execution_time', 36000); //300 seconds = 5 minutes $url = 'http://www.sportstats.com/soccer/matches/20170815/'; libxml_use_internal_errors(true); $doc = new DOMDocument(); $doc->loadHTMLFile($url); $xpath = new DOMXpath($doc); $data = array( 'HomeTeam' => $xpath->evaluate('string(//td[@class="table-home"]/a)'), 'AwayTeam' => $xpath->evaluate('string(//td[contains(@class, "table-away")]/a)'), 'FtScore' => $xpath->evaluate('string(normalize-space(translate(//td[@class="result-neutral"]," " ,"")))'), 'HomeTeamid' => $xpath->evaluate('substring-before(substring-after(substring-after(//td[@class="table-home"]/a/@href, "/soccer/"),"-"),"/")'), 'AwayTeamid' => $xpath->evaluate('substring-before(substring-after(substring-after(//td[@class="table-away"]/a/@href, "/soccer/"),"-"),"/")') ); foreach ($data as $key) { […]

Разбор HTML-страницы с использованием curl и xpath в PHP

Мне нужно разобрать эту веб-страницу https://www.galliera.it/118, получая цифры под цветными полосками. Это мой код (это не работает !!) … <?php ini_set('display_errors', 1); $url = 'https://www.galliera.it/118'; print "The url … ".$url; echo '<br>'; echo '<br>'; //#Set CURL parameters … $ch = curl_init(); curl_setopt($ch, CURLOPT_AUTOREFERER, TRUE); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, […]