Articles of domocumentment

Использование DOMXPath для замены узла при сохранении его положения

Итак, у меня была эта аккуратная небольшая идея, чтобы создать вспомогательный класс для DOMDOCUMENT, который в какой-то мере имитирует способность jQuery манипулировать DOM строки HTML или XML. Вместо селекторов css используется XPath. Например: $Xml->load($source) ->path('//root/items') ->each(function($Context) { echo $Context->nodeValue; }); Это вызовет функцию обратного вызова на каждом результирующем узле. К сожалению, PHP версия <5.3.x не […]

Как вставить HTML в PHP DOMNode?

Есть ли способ вставить шаблон HTML в существующий DOMNode без кодирования содержимого? Я попытался сделать это с помощью: $dom->createElement('div', '<h1>Hello world</h1>'); $dom->createTextNode('<h1>Hello world</h1>'); Результат практически не изменился, и только разница в том, что первый код обернет его в div. Я попытался загрузитьHTML из строки, но я понятия не имею, как добавить его содержимое тела в […]

PHP DOMDocument получает атрибут тега

Привет, у меня есть ответ api в формате xml с рядом элементов, таких как: <item> <title>blah balh</title> <pubDate>Tue, 20 Oct 2009 </pubDate> <media:file date="today" data="example text string"/> </item> Я хочу использовать DOMDocument для получения атрибута «данные» из тега «media: file». Моя попытка ниже не работает: $xmldoc = new DOMDocument(); $xmldoc->load('api response address'); foreach ($xmldoc->getElementsByTagName('item') as […]

Клонирование и добавление DOMElement: «Неверная ошибка документа»

Есть кое-что, что я не совсем понимаю о клонировании узлов с помощью PHP DOM api. Вот пример файла, который быстро дублирует проблему, с которой я сталкиваюсь. $doc = new DOMDocument( '1.0', 'UTF-8' ); $root = $doc->createElement( 'root' ); // This doesn't work either $root = new DOMElement( 'root' ); $doc->appendChild( $root ); $doc2 = new […]

Что такое DOM Core Level / Version, поддерживаемый PHP DOM?

Что такое версия DOM Core поддерживается PHP DOM? Я вижу, что в списке есть много разных ( список ): Document Object Model (Core) Уровень 1 (с помощью спецификации объекта документа (DOM) уровня 1 ) Модель объекта документа Core Level 2 Модель объекта документа Core Level 3 Какой из них поддерживается?