2009-10-06 3 views
1

Я пишу $xml = new DOMDocument(); и автоматически создает <?xml version="1.0"?>. Мне не нужно его создавать. Как мне это сделать?Как вы исключаете пролог XML из вывода?

Одним из решений является поиск первого «>» и strsub по индексу при первом найденном <. Но мне нравится более удобный способ сделать это.

+0

я нуждался в этом, сегодня я нашел пару подобных вопросов (ответила) здесь: - Http: // StackOverflow .com/questions/5706086/php-domdocument-output-without-xml-version-1-0-encoding-utf-8 - http://stackoverflow.com/questions/5947695/remove-xml-version-tag-when -a-xml-is-created-in-php/17362351 # 17362351 - http://stackoverflow.com/questions/9260096/hide-xml-declaration-in-files-generated-using-php Каждый поток имеет конкретное решение которые могут соответствовать вашим потребностям. – hrvoj3e

+0

Если вы считаете, что этот вопрос является дубликатом другого вопроса, пожалуйста, отметьте его как таковой, а не добавьте ответ. –

ответ

5

Когда вы saveXML, передайте в корневой элемент как аргумент node. Только корневой элемент и его содержимое будут сериализованы, а не любое объявление XML, doctype, комментарии или ИП за пределами корня.

$doc->saveXML($doc->documentElement); 

или, если вам нужно другой материал, но только не избыточное объявление:

$result= ''; 
foreach($document->childNodes as $node) 
    $result.= $document->saveXML($node)."\n"; 
Смежные вопросы