hi,
wenn ich ein XML-Dokument mittels SimpleXML einlese, erhalte ich an der Stelle, wo ein Element nur einen Kindknoten eines bestimmten Typs (also NodeNames) hat, ein weiteres SimpleXMLElement als Repräsentation dieses Kindknotens [1] - hat das Element jedoch mehrere Kindknoten dieses Typs, erhalte ich ein Array von SimpleXMLElementen [2].
Lässt sich dieses Verhalten beeinflussen, so dass ich auch wenn nur ein Kindknoten eines NodeNames vorhanden ist, ein Array mit entsprechend nur einem Eintrag erhalte [3]?
Es würde die Verarbeitung für mein Vorhaben nämlich vereinfachen, wenn ich immer gleich mittels foreach() über die oder den Kindknoten iterieren könnte - ohne zunächst abprüfen zu müssen, ob ich nun ein Array aus Kindknoten oder nur einen einzigen Kindknoten vorliegen habe.
Seit PHP 5.1.0 und libxml 2.6.0 können zwar vordefinierte libxml-Konstanten als options bei der Erzeugung eines SimpleXMLElements angegeben werden - aber da entdecke ich keine, die das gewünschte Verhalten bewirken würde.
Haben die PHP-Entwickler an eine solche Möglichkeit tatsächlich nicht gedacht - oder habe ich sie lediglich übersehen/nicht erkannt?
[1] Ausgabe print_r() für dieses Szenario:
SimpleXMLElement Object
(
[parentElement] => SimpleXMLElement Object
(
[childNode] => SimpleXMLElement Object
(
[contentNode] => Inhalt Child 1
)
)
)
[2] Ausgabe print_r() für dieses Szenario:
SimpleXMLElement Object
(
[parentElement] => SimpleXMLElement Object
(
[childNode] => Array
(
[0] => SimpleXMLElement Object
(
[contentNode] => Inhalt Child 1
)
[1] => SimpleXMLElement Object
(
[contentNode] => Inhalt Child 2
)
)
)
)
[3] Ausgabe des gewünschten Ergebnisses mit print_r() für dieses Szenario:
SimpleXMLElement Object
(
[parentElement] => SimpleXMLElement Object
(
[childNode] => Array
(
[0] => SimpleXMLElement Object
(
[contentNode] => Inhalt Child 1
)
)
)
)
gruß,
wahsaga
/voodoo.css:
#GeorgeWBush { position:absolute; bottom:-6ft; }