Звучит как довольно простой вопрос, но я не смог заставить его работать.Я использую PHP 5.2.6.
У меня есть элемент DOM (корневой элемент), который при переходе к $ element-> saveXML () выводит атрибут xmlns:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
...
Тем не менее, я не могу найти какой-либо программный путь в PHP, чтобы увидеть это пространство имен.Я хочу быть в состоянии проверить, существует ли он и установлен ли он.
Проверка $document->documentElement->namespaceURI
была бы очевидным ответом, но это пустое (я никогда не мог получить, чтобы это было непусто).Что генерирует это значение xmlns в выводе и как я могу его прочитать?
Единственный практический способ, которым я смог сделать это до сих пор, - это полный взлом - сохранение его в виде XML в строку с использованиемзатем saveXML (), читая его с помощью регулярных выражений.
Редактировать:
Это может быть особенностью загрузки XML с использованием loadHTML () вместо loadXML () и последующей печати с использованием saveXML().Когда вы делаете это, кажется, что по какой-то причине saveXML добавляет атрибут xmlns, даже если нет способа обнаружить, что это значение xmlns является частью документа с использованием методов DOM.То, что я предполагаю, означает, что если бы у меня был способ определить, был ли переданный документ загружен с использованием loadHTML (), я мог бы решить эту проблему другим способом.