XML auslesen mal ja, mal nein ?
NetLook
- xml
Hallo!
Hier:
http://www.drweb.de/php/php-xml.shtml
Gibt es folgednes Beispiel, diese XML Datei
<?xml version="1.0" encoding="ISO-8859-1" ?>
<artikel>
<titel>Der Titel</titel>
<teaser>Der Teaser, eine kurze Beschreibung</teaser>
<inhalt>Der Artikelinhalt an sich</inhalt>
</artikel>
Wird so ausgelsen
if (file_exists('artikel.xml')) {
$xml = simplexml_load_file('artikel.xml');
echo $xml->teaser[0];
} else {
exit('Konnte Datei nicht laden.');
}
Das funktioniert auch, jetz habe ich probiert diese XML Datei auszulesen:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<enzyklopädie>
<titel>Wikipedia Städteverzeichnis</titel>
<eintrag>
<stichwort>Genf</stichwort>
<eintragstext>Genf ist der Sitz von …</eintragstext>
</eintrag>
<eintrag>
<stichwort>Köln</stichwort>
<eintragstext>Köln ist eine Stadt, die …</eintragstext>
</eintrag>
</enzyklopädie>
Mit diesem Code:
if (file_exists('artikel.xml')) {
$xml = simplexml_load_file('artikel.xml');
echo $xml->stichwort[0];
} else {
exit('Konnte Datei nicht laden.');
}
Was aber zu keinem Ergebnis führt, es erscheint nichts.
Warum nicht, wo ist der Unterschied?
Gruß
NetLook
Ich vermute stark:
echo $xml->eintrag[0]->eintragstext;
Grüße
Es sei hinzugefügt wegen gerade doch noch ausprobiert:
zB:
echo utf8_decode($xml->eintrag[1]->stichwort);
Ja hat funktioniert, super. vielen dank an alle :)
Gruß
NetLook
Hallo NetLook,
echo $xml->stichwort[0];
Das root-Element ist hier <enzyklopädie>, du musst also
echo $xml->eintrag[0]->stichwort;
notieren.
Beste Grüße
Richard