Как вы исключаете пролог XML из вывода?

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

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

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

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

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

 $result= ''; foreach($document->childNodes as $node) $result.= $document->saveXML($node)."\n";