Moin Moin,
ich hänge momentan bei einem Problem fest und hoffe hier Hilfe zu bekommen. Folgendes möchte ich erreichen:
Ich habe ein eindimensionales Array, welches variabel viele Einträge haben kann. Folgende Struktur:
Nun habe ich eine XML Datei, die ich mit simplexml_load_file() öffne. Sie kann auch verschieden viele Childelemente usw. haben. Die Datei sieht so aus:
Nun habe ich mir folgendes Kontrukt geschrieben um das Array mit der xml zu vergleichen bzw. prüfen. Ziel ist es die existenz des Arrays in der xml zu prüfen und bei einem Fehler false zu erhalten (Die echo Zeile ist nur zum testen gedacht). $cats ist das Array
Kann mir da jemand weiterhelfen? Folgender Eintrag hat mir bislang auch schon sehr geholfen, aber nun hänge ich fest. Momentan funktioniert es wenn das Array nur einen Eintrag hat. Alles darüber hinaus bewirk false. Auch wenn die Einträge in der XML existieren. Ich gehe warscheinlich auch zu umständlich da ran.
Ich bin für jede Hilfe dankbar.
Gruß Micha
ich hänge momentan bei einem Problem fest und hoffe hier Hilfe zu bekommen. Folgendes möchte ich erreichen:
Ich habe ein eindimensionales Array, welches variabel viele Einträge haben kann. Folgende Struktur:
Code:
Array
(
[0] => bli
[1] => bla
[2] => blub
.
.
.
)
Nun habe ich eine XML Datei, die ich mit simplexml_load_file() öffne. Sie kann auch verschieden viele Childelemente usw. haben. Die Datei sieht so aus:
Code:
<?xml version="1.0" encoding="ISO-8859-1"?>
<test>
<erstens></erstens>
<bli>
<bla>
<blub>
<dim4></dim4>
</blub>
</bla>
</bli>
<asdasd>
<dim2></dim2>
</asdasd>
</test>
Nun habe ich mir folgendes Kontrukt geschrieben um das Array mit der xml zu vergleichen bzw. prüfen. Ziel ist es die existenz des Arrays in der xml zu prüfen und bei einem Fehler false zu erhalten (Die echo Zeile ist nur zum testen gedacht). $cats ist das Array
PHP:
$xml=simplexml_load_file('test.xml');
function check($xml, $cat)
{
if(is_object($xml->$cat))
{
$return=$xml->$cat;
}
else
{
$return=false;
}
return($return);
}
for($count=0; $count<count($cats); $count++)
{
if(isset($return))
{
if($return)
{
echo 'Fehler';
}
else
{
$xml=$return;
}
}
$return=check($xml, $cats[$count]);
}
Kann mir da jemand weiterhelfen? Folgender Eintrag hat mir bislang auch schon sehr geholfen, aber nun hänge ich fest. Momentan funktioniert es wenn das Array nur einen Eintrag hat. Alles darüber hinaus bewirk false. Auch wenn die Einträge in der XML existieren. Ich gehe warscheinlich auch zu umständlich da ran.
Ich bin für jede Hilfe dankbar.
Gruß Micha
Zuletzt bearbeitet: