Я пытаюсь написать парсер для xml postback-прослушивателя, но, похоже, не может заставить его сбрасывать xml для образца. Парень поддержки API сказал мне использовать «DOMDocument», может быть, «SimpleXML»? В любом случае вот код: (спасибо!) <?php $xml_document = file_get_contents('php://input'); $doc = new DOMDocument(); $doc->loadXML($xml_document); $doc->save("test2/".time().".sample.xml").".xml"); ?>
При создании DOMDocument с DOMImplementation::createDocument() вы можете указать doctype в качестве третьего аргумента в конструкторе. Затем этот doctype привязывается к документу, и вы можете получить его позже с помощью $document->doctype . Однако это атрибут только для чтения (в отличие от кодировки и версии!). Есть ли способ изменить свойство doctype существующего объекта DOMDocument? Единственным обходным решением, […]
У меня есть переменная $content содержащая кусок кода HTML: <b>AMZN 466.00 ( 15743 ) ( <span class='red'> -1 </span>) MSFT 290.00 ( 37296 ) ( <span class='red'> -2 </span>) TWTR 4,000.00 ( 20 ) ( <span class=''> 0 </span>)</b> Теперь я хочу значения <b> исключая значения <span> используя PHP DOM. Как это может быть сделано? […]
Я использую XPATH для удаления нечетких HTML-тегов, $nodeList = $xpath->query("//*[normalize-space(.)='' and not(self::br)]"); foreach($nodeList as $node) { $node->parentNode->removeChild($node); } удалит этот ужасный вход, как эти, <p><em><br /></em></p> <p><span style="text-decoration: underline;"><em><br /></em></span></p> но он также удаляет img tag как удар, который я хочу сохранить, <p><img title="picture summit" src="images/32913430_127001_e.jpg" alt="picture summit" width="590" height="366" /></p> Как сохранить img tag […]
$dom = new DOMDocument('1.0', 'UTF-8'); $dom->loadHTML($content); $divs = $dom->getElementsByTagName("div"); foreach ( $divs as $div ) { if ( $class = $div->attributes->getNamedItem("class") ) { if ( $class->nodeValue == "simplegalleryholder" ) $div->parentNode->removeChild( $div ); } } $content = $dom->saveHTML(); Этот простой код должен помочь мне с удалением <div class="simplegalleryholder"> …. </div> из документа. Единственная проблема заключается в […]
<?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; } Этот […]
Я попытался получить следующий элемент, используя nextSibling и следующий код не работает. Я получил ошибку, как показано ниже. PHP Предупреждение: неверный аргумент, предоставленный foreach () в /php/dom.php в строке 35 это должно быть вызвано нулевым значением в цикле foreach. но если я изменю его, чтобы получить предыдущий элемент, используя previousSibling он работает так, как ожидалось. […]
Я использую DOMDocument и SimpleXMLElement для создания форматированного XML-файла. Пока все это работает, результирующий файл сохраняется как ASCII, а не как UTF-8. Я не могу найти ответ о том, как это изменить. XML создается так: $XMLNS = "http://www.sitemaps.org/schemas/sitemap/0.9"; $rootNode = new \SimpleXMLElement("<?xml version='1.0' encoding='UTF-8'?><urlset></urlset>"); $rootNode->addAttribute('xmlns', $XMLNS); $url = $rootNode->addChild('url'); $url->addChild('loc', "Somewhere over the rainbow"); //Turn […]
С помощью этого фрагмента XML: <my_xml> <entities> <image url="lalala.com/img.jpg" id="img1" /> <image url="trololo.com/img.jpg" id="img2" /> </entities> </my_xml> Я должен избавиться от всех атрибутов в тегах изображений. Итак, я сделал это: <?php $article = <<<XML <my_xml> <entities> <image url="lalala.com/img.jpg" id="img1" /> <image url="trololo.com/img.jpg" id="img2" /> </entities> </my_xml> XML; $doc = new DOMDocument(); $doc->loadXML($article); $dom_article = $doc->documentElement; […]
Когда я использую DOMDocument :: loadXML () для моего XML ниже, я получаю ошибку: Warning: DOMDocument::loadXML() [domdocument.loadxml]: CData section not finished http://www.site.org/displayimage.php?album=se in Entity, Warning: DOMDocument::loadXML() [domdocument.loadxml]: Premature end of data in tag image line 7 in Entity Warning: DOMDocument::loadXML() [domdocument.loadxml]: Premature end of data in tag quizz line 3 in Entity Warning: DOMDocument::loadXML() [domdocument.loadxml]: […]