Hallo,
ich parse eine XML Datei mit SimpleXML. Ich bin dabei erstmal alle Kategorien auszulesen, die verschachtelt (also mehrere Ebenen haben) können.
ich lese die xml-datei erstmal so (bin noch am anfang und mach erstmal nur testausgaben) :
die Funktion getCategories ist deshalb eine Funktion, weil ich sie rekursiv aufrufen will, falls die kategorie eine unterkategorie hat.
hat eine Kategorie eine Unterkategorie dann trifft die Anweisung auch zu
in dem print_r bekomm ich dann die Struktur ausgegeben, wo er mir sagt das der Schlüssel "Category" ein array ist.
Wenn ich dann aber mit is_array prüfe ob [Category] ein Array ist, sagt mir NEIN! Wieso, ist doch zu erkennen des es ein Array ist?
Weiß jemand eine Antwort?
Hab noch nicht viel mit Objekten gearbeit. vielleicht versteh ich hier was falsch!
Danke
ich parse eine XML Datei mit SimpleXML. Ich bin dabei erstmal alle Kategorien auszulesen, die verschachtelt (also mehrere Ebenen haben) können.
ich lese die xml-datei erstmal so (bin noch am anfang und mach erstmal nur testausgaben) :
PHP-Code:
$filename = 'forum.xml';
if (file_exists($filename)):
$xml = simplexml_load_file($filename);
foreach ($xml as $categories):
getCategories($categories,'-');
endforeach;
else:
exit('Datei nicht gefunden.');
endif;
PHP-Code:
// p ist nur ein string um die ebenen zu verdeutlichen
function getCategories($categories,$p) {
echo $p.'> '.$categories['Name'];
echo '<br />';
if (array_key_exists('Category',$categories))
//getCategories($categories['Category'],$p.'-');
print_r($categories);
}
if (array_key_exists('Category',$categories))
Code:
-> Alles für die Frau SimpleXMLElement Object ( [@attributes] => Array ( [Id] => 170813807 [Name] => Alles für die Frau ) [Category] => Array ( [0] => SimpleXMLElement Object ( [@attributes] => Array ( [Id] => 170813868 [Name] => Frauenhygiene ) ) ...
Weiß jemand eine Antwort?
Hab noch nicht viel mit Objekten gearbeit. vielleicht versteh ich hier was falsch!
Danke
Kommentar