XML formatiert darstellen

Ausgabe von XML Inhalten in PHP formatiert anzeigen lassen

XML wird häufig in PHP verwendet.

Sollen XML-Inhalte beim Debuggen oder für Anwender schön und übersichtlich formatiert dargestellt werden, kann man das JavaScript code-prettify  verwenden.

Die Funktion asdw_echo_xml übernimmt die vollständige Formatierung des XML-Inhaltes.
Das erfolgt direkt am lokalen Gerät. Der Inhalt muss dazu also nicht über das Internet zu einem anderen Server geschickt werden.

function asdw_echo_xml($xml)
  {
    // Nice function to output a FORMATTED (simple)XML - Object
    $dom = new DOMDocument;
    $dom->preserveWhiteSpace = false;
    $dom->formatOutput = true;
    $dom->loadXML($xml->asXML()); //=====$data has the raw xml data...you want to format

    echo '<script src="https://cdn.rawgit.com/google/code-prettify/master/loader/run_prettify.js?autoload=true&skin=sunburst" defer="defer"></script>';

    echo "<br/> <pre class=\"prettyprint\" lang-xml id=\"quine\" style=\"border:4px solid #88c\" >". htmlentities($dom->saveXML())."</pre>";
  }

Beispiel-Code für asdw_echo_xml:

$string = <<<XML
<?xml version='1.0'?>
<document>
 <title>Zweiundvierz...?</title>
 <from>Joe</from>
 <to>Jane</to>
 <body>
  Ich kenne die Antwort -- aber was ist die Frage?
 </body>
</document>
XML;

$xml = simplexml_load_string($string);

asdw_echo_xml($xml);

ergibt die Ausgabe – XML formatiert:

xml formatiert ausgeben mit asdw_echo_xml

Die Formatierung dieser Ausgabe kann auch noch angepasst werden.
Eine Beschreibung der code-prettify findet man hier.