Parsen von XML mit nested Elements gleichen Namens
Hallo,
ich habe ein XML-File, das ungefähr so aufgebaut ist;
<code type="html>
<?xml version="1.0" encoding="UTF-8"?>
<data>
<item>1<item>2</item><item>3</item></item>
</data>
Wenn ich das nun parse mittels dom:
bekomme ich ausgegeben:
123 <- ?
2
3
Wenn ich das mit simplexml parse,
bekomme ich:
SimpleXMLElement Object
(
[item] => Array
(
=> 2
[1] => 3
)
)
Ist obiges XML überhaupt XML-Konform und wie würdet Ihr das parsen ?
CU,
Kai.
ich habe ein XML-File, das ungefähr so aufgebaut ist;
<code type="html>
<?xml version="1.0" encoding="UTF-8"?>
<data>
<item>1<item>2</item><item>3</item></item>
</data>
Wenn ich das nun parse mittels dom:
$dom = new DOMDocument();
$dom->preserveWhiteSpace = false;
$dom->Load($filename);
$items = $dom->getElementsByTagName('item');
foreach($items as $item) {
echo $item->nodeValue."\n";
}
bekomme ich ausgegeben:
123 <- ?
2
3
Wenn ich das mit simplexml parse,
$xml = simplexml_load_file($argv[1]);
print_r($xml);
bekomme ich:
SimpleXMLElement Object
(
[item] => Array
(
=> 2
[1] => 3
)
)
Ist obiges XML überhaupt XML-Konform und wie würdet Ihr das parsen ?
CU,
Kai.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 148614
Url: https://administrator.de/contentid/148614
Ausgedruckt am: 05.11.2024 um 19:11 Uhr