Wo ist der Unterschied? XML als String vs. Import

Spelmann

Erfahrenes Mitglied
Ich tue mich echt schwer mit XML.

Wenn ich meine XML Struktur direkt in den Code schreibe hat die Variable $xml einen anderen Inhalt, als wenn ich die XML extern lade.

XML im Code und var_dump von $xml:
PHP:
$xml = <<<XML
<PROTAGONISTEN>
  <FIGUR>
   <NAME>Shrek</NAME>
   <SIZE>2.50</SIZE>
   <GATTUNG>Oger</GATTUNG>
  </FIGUR>
</PROTAGONISTEN>
XML;

var_dump($xml);

//Ergibt:
string(170) " Shrek 2.50 Oger "

XML importiert und var_dump von $xml:
PHP:
$filename = "./xml_sources/myXML.xml";
$xml = simplexml_load_file($filename);

var_dump($xml);

//Ergibt:
object(SimpleXMLElement)#1 (1) { ["FIGUR"]=> object(SimpleXMLElement)#2 (3) { ["NAME"]=> string(5) "Shrek" ["SIZE"]=> string(4) "2.50" ["GATTUNG"]=> string(4) "Oger" } }

Wo ist der Unterschied? Und was noch wichtiger ist, wie komme ich dahin, die Variable $xml bei einem importierten XML-File so verarbeiten zu können, als läge der String wie oben direkt im Code vor? Muss ich hier noch eine Schleife bauen um die XML auszulesen?

Ich stehe erst am Anfang einer ziemlichen komplexen Aufgabe und stolper hier schon in den Basics rum :-(
 
Zuletzt bearbeitet:
In deinem ersten Codeausschnitt fehlt dann aber das simplexaml_load_string(). Was du da machst, ist einfach nur den String ausgeben, und ich vermute der Browser rendered dann einfach nur den Textcontent.
 

Neue Beiträge

Zurück