J'essaie d'ajouter des données à un fichier XML existant en utilisant SimpleXML de PHP. Le problème est qu'il ajoute toutes les données sur une seule ligne:
<name>blah</name><class>blah</class><area>blah</area> ...
Etc. Le tout sur une seule ligne. Comment introduire des sauts de ligne?
Comment faire comme ça?
<name>blah</name>
<class>blah</class>
<area>blah</area>
J'utilise la asXML()
fonction.
Merci.
php
formatting
simplexml
user61734
la source
la source
Réponses:
Vous pouvez utiliser la classe DOMDocument pour reformater votre code:
la source
La solution de Gumbo fait l'affaire. Vous pouvez travailler avec simpleXml ci-dessus, puis l'ajouter à la fin pour faire écho et / ou l'enregistrer avec le formatage.
Le code ci-dessous le fait écho et l'enregistre dans un fichier (voir les commentaires dans le code et supprimer ce que vous ne voulez pas):
la source
Utilisez
dom_import_simplexml
pour convertir en un DomElement. Utilisez ensuite sa capacité pour formater la sortie.la source
documentElement
soit le casownerDocument
. Je ne sais pas si l'API a changé ou ce n'est qu'une faute de frappe. Je l'ai corrigé maintenant.Comme Gumbo et Witman ont répondu; charger et enregistrer un document XML à partir d'un fichier existant (nous sommes beaucoup de débutants ici) avec DOMDocument :: load et DOMDocument :: save .
la source