Articles of domdocument

XPATH – возвращает одно значение вместо массива php

Я использую Xpath в PHP – я знаю, что мой запрос вернет либо 0, либо 1 результат. Если 1 результат возвращен, я не хочу, чтобы он был массивом, и это то, что возвращается прямо сейчас. Я просто хочу значение без необходимости доступа к элементу [0] результата и отбрасыванию в строку. Это возможно?

'getElement (s) By' в PHP-классе SimpleXML, как в PHP-DomDocument?

Я сделал приложение с использованием DomDocument & SimpleXML, но сервер не поддерживает DomDocument (Only SimpleXML). Теперь я переписываю его, но в SimpleXML нет никаких функций, таких как «getElementsByTagName» и «getElementById» (мне нужны только эти 2). Я много искал на php.net и google.com, но не могу найти его. Я не так хорош, чтобы писать свои собственные. […]

Как добавить DOCTYPE в экспорт xml?

Я экспортировал XML-файл в PHP, используя: $xmldoc = new DOMDocument(); $xmldoc->formatOutput = true; $xmldoc->encoding="Shift_JIS"; // create root nodes $root = $xmldoc->createElement("TableData"); $xmldoc->appendChild( $root ); $xmldoc->save($filename); Результат: <?xml version="1.0" encoding="Shift_JIS"?> <TableData> </TableData> Теперь я хочу добавить строку <!DOCTYPE TableDef SYSTEM "TableData.dtd"> как: <?xml version="1.0" encoding="Shift_JIS"?> <!DOCTYPE TableDef SYSTEM "TableData.dtd"> <TableData> </TableData> Как добавить DOCTYPE в экспортированный […]

Экспортировать определенный элемент в DOMDocument в строку

Я импортирую некоторый произвольный HTML в DOMDocument используя loadHTML() , например: $html = '<p><a href="test.php">Test</a></p>'; $doc = new DOMDocument; $doc->loadHTML($html); Затем я хочу изменить несколько атрибутов / значений узлов, используя методы DOMDocument которые я не могу решить. После внесения этих изменений я хотел бы экспортировать строку HTML (используя ->saveHTML() ) без тегов <html><body>… которые DOMDocument […]

Как изменить корень узла с помощью методов DomDocument?

Как изменить только имя тега корня узла DOM? В модели DOM-Document мы не можем изменить свойство documentElement объекта DOMElement , поэтому нам нужно «перестроить» узел … Но как «перестроить» с childNodes свойства childNodes ? ПРИМЕЧАНИЕ. Я могу сделать это, преобразовывая в строку с помощью saveXML и вырезая корень с помощью регулярных выражений … Но это […]

PHP DOMDocument без тегов DTD, head и body?

Можно ли использовать класс DOMDocument и не разрешать ему добавлять декларации типа документа, заголовки и теги? Я пишу свой текущий бит кода для серверной части include, и он отображается на уже хорошо сформированной странице. Мне не нужны дополнительные теги.

PHP DOMDocument, поиск определенных элементов

Я ищу, чтобы найти конкретный атрибут определенного элемента в документе HTML с помощью PHP DOMDocument. В частности, существует div с уникальным набором классов и только один интервал внутри него. Мне нужно получить атрибут стиля этого элемента span. Пример: <div class="uniqueClass"><span style="text-align: center;" /></div> В этом примере, когда uniqueClass является единственным экземпляром этого класса в документе, […]

Проверка XHTML5 в PHP?

Задний план Я принял решение обслуживать мой сайт как application/xhtml+xml всем, кто его примет. Я понимаю, что есть последствия, последствия которых я готов принять. проблема Я пытаюсь проверить XHTML5 в PHP. Таким образом, я могу обслуживать файл как text/html если проверка не выполняется (эй, никого не идеально). Тем не менее, мой вопрос заслуживает даже тогда, […]

DOMDocument: игнорировать повторяющиеся идентификаторы элементов

Я помещаю некоторое содержимое страницы (которое было запущено через Tidy, но не должно быть, если это источник проблем) в DOMDocument используя DOMDocument::loadHTML . Это приводит к различным ошибкам: ID x, уже определенный в Entity, строка X Есть ли способ заставить DOMDocument (или Tidy) игнорировать или DOMDocument повторяющиеся идентификаторы элементов, поэтому он фактически создаст DOMDocument ? […]

Как использовать XMLReader / DOMDocument с большим XML-файлом и предотвратить ошибку 500

У меня есть XML-файл размером около 12 МБ, который имеет около 16000 продуктов. Мне нужно обработать его в базе данных; однако, примерно в 6000 строк он умирает с ошибкой 500. Я использую структуру Kohana (версия 3) на всякий случай, которая имеет какое-либо отношение к ней. Вот мой код, который у меня внутри контроллера: $xml = […]