Hallo,
ich habe ein PHP Skript gemacht, das bei dem per SimpleXML auch Attribute ausgelesen werden müssen. Normale Elemente wie <test>inhalt</test> liest er wunderbar aus.
So ist mein Skript aufgebaut, das die Attribute auslesen soll, es aber nicht tut:
//..............................................................
$xml1=simplexml_load_file($file);
$xml2 = $xml1->children('http://www.openimmo.de');
foreach($xml2->anbieter->immobilie as $immo){
if($immo->geo->land[0]){
foreach ($immo->geo->land->attributes() as $name => $inhalt) {
if ($name=="iso_land"){ $iso_land=$inhalt; }
}}
}
//..............................................................
Die XML Datei sieht hier so aus:
<?xml version="1.0" encoding="UTF-8" ?>
<imopenimmo xmlns:imo="http://www.openimmo.de" (...) >
(...)
<imo:land iso_land="DEU" />
(...)
//..............................................................
Die Struktur ist richtig, normale Elemente werden auch richtig ausgelesen, aber eben solche Attribute innerhalb von Elementen nicht. Vielleicht liegt es ja an der If-Abfrage, ob es überhaupt ein Attribut gibt.
Hab jetzt auch erkannt, dass es ginge, wenn man das hier weglässt:
$xml2 = $xml1->children('http://www.openimmo.de') und gleich mit der Zeile darüber arbeitet, aber dann gehen datensätze mit diesem imo: Zusatz in jedem Element wieder nicht!
Vielen Dank für euere Hilfe!
Viele Grüße,
Michael
ich habe ein PHP Skript gemacht, das bei dem per SimpleXML auch Attribute ausgelesen werden müssen. Normale Elemente wie <test>inhalt</test> liest er wunderbar aus.
So ist mein Skript aufgebaut, das die Attribute auslesen soll, es aber nicht tut:
//..............................................................
$xml1=simplexml_load_file($file);
$xml2 = $xml1->children('http://www.openimmo.de');
foreach($xml2->anbieter->immobilie as $immo){
if($immo->geo->land[0]){
foreach ($immo->geo->land->attributes() as $name => $inhalt) {
if ($name=="iso_land"){ $iso_land=$inhalt; }
}}
}
//..............................................................
Die XML Datei sieht hier so aus:
<?xml version="1.0" encoding="UTF-8" ?>
<imopenimmo xmlns:imo="http://www.openimmo.de" (...) >
(...)
<imo:land iso_land="DEU" />
(...)
//..............................................................
Die Struktur ist richtig, normale Elemente werden auch richtig ausgelesen, aber eben solche Attribute innerhalb von Elementen nicht. Vielleicht liegt es ja an der If-Abfrage, ob es überhaupt ein Attribut gibt.
Hab jetzt auch erkannt, dass es ginge, wenn man das hier weglässt:
$xml2 = $xml1->children('http://www.openimmo.de') und gleich mit der Zeile darüber arbeitet, aber dann gehen datensätze mit diesem imo: Zusatz in jedem Element wieder nicht!
Vielen Dank für euere Hilfe!
Viele Grüße,
Michael
Kommentar