2009-10-06 7 views
1

J'écris $xml = new DOMDocument(); et crée automatiquement <?xml version="1.0"?>. Je n'ai pas besoin de le créer. Comment je fais ça?Comment excluez-vous le prologue XML de la sortie?

Une solution consiste à rechercher le premier ">" et à effectuer un strsub à l'index au premier < trouvé. Mais j'aime mieux faire ça.

+0

je avais besoin aujourd'hui j'ai trouvé quelques questions similaires (réponse) ici: - http: // stackoverflow .com/questions/5706086/php-domdocument-sortie-sans-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 Chaque thread a une solution spécifique cela pourrait répondre à vos besoins. – hrvoj3e

+0

Si vous pensez que cette question est une copie d'une autre question - veuillez la signaler comme telle au lieu d'ajouter une réponse. –

Répondre

5

Lorsque vous saveXML, transmettez l'élément racine comme argument node. Seul l'élément racine et son contenu seront sérialisés, et non une déclaration XML, un doctype, des commentaires ou des PI en dehors de la racine.

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

ou, si vous avez besoin d'autres choses, mais tout simplement pas la déclaration redondante:

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