Prettifying/Formatage de sortie dans SimpleXML
J'ai cette simplexml script que j'utilise pour publier des données saisies à partir d'un formulaire.
$xml = simplexml_load_file("links.xml");
$sxe = new SimpleXMLElement($xml->asXML());
$person = $sxe->addChild("link");
$person->addChild("title", "Q: ".$x_title);
$person->addChild("url", "questions_layout.php#Question$id");
$sxe->asXML("links.xml");
et quand il sort, il ressemble à ceci sur une seule ligne:
<link><title>Alabama State</title><url>questions_layout.php#Question37</url></link><link><title>Michigan State</title><url>questions_layout.php#Question37</url></link></pages>
Mais j'ai essayé la méthode à la ICI et AINSI mais ni le format XML correctement dans les lignes comme ils devraient être comme
<link>
<title></title>
<url></url>
</link>
Dans le premier lien de référence, j'ai même changé loadXML
à load
, parce que loadXML
attend une chaîne de caractères au format XML. Quelqu'un peut-il m'aider à trouver une solution à cette s'il vous plaît?
Double Possible de PHP simpleXML comment enregistrer le fichier dans un formaté de la sorte?
OriginalL'auteur Tower | 2012-04-12
Vous devez vous connecter pour publier un commentaire.
Autant que je sache, simpleXML ne peut pas le faire sur son propre.
Cependant, DOMDocument peut.
Fatal error: Call to undefined method DOMElement::saveXML()
sur la ligne où l' `$formaté = $dom->saveXML(); il arriveEssayez d'appeler
saveXML()
surownerDocument
.Changé
$dom = dom_import_simplexml($sxe)->ownerDocument;
et si l'erreur n'est plus affiché, le XML n'est pas encore formaté et s'affiche sur une seule ligne.Comment voyez-vous il pour le confirmer?
J'ai saisi les données dans le formulaire, de le soumettre, de laisser le PHP ne c'est du boulot et puis prendre un coup d'oeil au fichier XML Notepad++, mais maintenant que je le vois, il n'apparaît de cette façon dans Notepad++, mais dans IE ou Firefox, il semble organisé. Encore devrais-je être préoccupé par le fait qu'il formater correctement dans l'éditeur?
OriginalL'auteur alex
je pense que ci-dessus accepté de répondre à de stackoverflow autorité n'a pas résolu la question ci-dessus.
Ref : [ j'ai essayé ta réponse et j'ai reçu un Fatal error: Call to undefined method DOMElement::saveXML() sur la ligne où l'
$formatted = $dom->saveXML();
OriginalL'auteur kzaman.badal