DOMDocument - echo nodeValue -> keine Ausgabe
alpe
- php
0 ChrisB0 alpe
0 jobo0 Sebastian Pfund
Hallo,
ich habe ein kleines Problem, von dem ich gar nicht erwartet hatte es zu bekommen...
Ich habe ein XML File das sieht in etwa so aus
<?xml version="1.0"?>
<authors>
<author>
<name>horst</name>
</author>
<author>
<name>ralf</name>
</author>
</authors>
Der Code dazu in etwa so:
$doc = new DOMDocument('1.0','UTF-8');
$db->preserveWhiteSpace = false;
$doc->formatOutput = true;
$doc->load('xml-test.xml');
$authors = $doc->getElementsByTagName('author');
$author = $authors->item(0);
$name = $author->firstChild;
echo $name->nodeValue;
Wenn ich das jetzt ausführe bekomme ich nichts außer einem Zeilenumbruch und ein paar Leerzeichen angezeigt.
Tatsächlich sollte da aber 'horst' angezeigt werden.
Ich steh völlig auf dem Schlauch wo da jetzt das Problem liegt...
Die ausgabe von nodeType ergibt korrekterweise 3.
Kann mir jemand sagen was wo da der Fehler liegt? Ich sehs einfach nicht.
Gruß
alpe
Hi,
<author>
<name>horst</name>
$authors = $doc->getElementsByTagName('author');
$author = $authors->item(0);
$name = $author->firstChild;
echo $name->nodeValue;
Wenn ich das jetzt ausführe bekomme ich nichts außer einem Zeilenumbruch und ein paar Leerzeichen angezeigt.
Tatsächlich sollte da aber 'horst' angezeigt werden.
Nein, sollte es nicht. name ist erst das zweite Kindelement von author - das erste ist der Textknoten, der sich zwischen den beiden befindet.
MfG ChrisB
Nein, sollte es nicht. name ist erst das zweite Kindelement von author - das erste ist der Textknoten, der sich zwischen den beiden befindet.
MfG ChrisB
Der Zeilenumbruch ...ach verdammt das alte leid...
Hallo,
$author->nodeValue gibt "horst" zzgl. der Whitespaces.
Gruß
jobo
Hallo,
$db->preserveWhiteSpace = false;
bist Du sicher, das Du $db schreiben willst? Das sollte dein Problem mit den Zeilenumbrüchen beheben.
Grüße Sebastian