Hi
Ich versuche mich grade im XML verarbeiten
und zwar habe ich vor, XML-Dateien wie diese auszulesen, am besten in verschachtelte arrays zu packen und dann nach und nach aufzudröseln um sie dann z.B. in einer Datenbank zu speichern (man kann natürlich selber XML-Dateien angeben )
das klappt bis jetzt auch ganz gut, abgesehen davon, dass in der XML datei für manche einträge "id" attribute vergeben wurden. Dadurch nimmt mein script aber nur den letzten eintrag aus dieser gruppe an
meine funktion bis jetzt:
Ich versuche mich grade im XML verarbeiten
und zwar habe ich vor, XML-Dateien wie diese auszulesen, am besten in verschachtelte arrays zu packen und dann nach und nach aufzudröseln um sie dann z.B. in einer Datenbank zu speichern (man kann natürlich selber XML-Dateien angeben )
das klappt bis jetzt auch ganz gut, abgesehen davon, dass in der XML datei für manche einträge "id" attribute vergeben wurden. Dadurch nimmt mein script aber nur den letzten eintrag aus dieser gruppe an
Code:
<entry id="0"> <count>134234</count> <name>Test1</name> </entry> <entry id="1"> <count>24234</count> <name>Test2</name> </entry>
PHP-Code:
function xml2array($text) {
$reg_exp = '/<(.*?)>(.*?)<\/\\1>/s';
preg_match_all($reg_exp, $text, $match);
foreach ($match[1] as $key=>$val) {
if ( preg_match($reg_exp, $match[2][$key]) )
{
$array[$val][] = xml2array($match[2][$key]);
}
else
{
$array[$val] = $match[2][$key];
}
}
return $array;
}
Kommentar