Forum Doku Wiki Blog

Forumsarchiv 2006, Juni
Simple_XML Objektbaum dynamisch durchgehen ?

archivierte Beiträge lesen

  1. (PHP) Simple_XML Objektbaum dynamisch durchgehen ? von Chrisi, 21. 06. 2006, 14:24

Simple_XML Objektbaum dynamisch durchgehen ?

Der folgende Beitrag wurde am 21. 06. 2006, 14:24 Uhr von Chrisi veröffentlicht.

Hallo zusammen,

ich schreibe mir gerade einen XML importer und möchte diesen natürlich möglichlichst dynamisch halten. Dazu habe ich mir eine Aliastabelle angelegt in der die zu importierenden Spalten festgelegt sind.

Nun möchte ich das Simple XML Dokument dynamisch Abfragen um z.B. an folgende Spalte zu gelangen:

echo $element->info->name;

Da die Feldnamen aus der Tabelle kommen müssen diese als Variable eingebunden werden, also so:

echo $element->$info->$name;

Nun habe ich das Problem das die einzelnen Feldnamen von der Tiefe her nicht immer 2 Fach sind, sondern auch mal 1 Fach oder 5. Habe mir gedacht das etwas ind er Art funktionieren kann:

$tree = "info->name";
$tree = "info->name->nochmehr"; // oder
$tree = "info->name->nochmehr->mehr"; // oder
echo $element->$tree;

Aber das geht leider nicht :-) Habe mir da Gedanken über implode, oder foreach gemacht, aber kriege einfach nichts zusammengebaut.

Nun meine Frage, wie kann ich so einen Objectbaum dynamisch zusammensetzen um an die gewünschten Felder zu kommen ?

Danke und Grüße

Chrisi ...

Simple_XML Objektbaum dynamisch durchgehen ?

Der folgende Beitrag wurde am 21. 06. 2006, 15:01 Uhr von Manuel B. veröffentlicht.

Hi,

> Nun meine Frage, wie kann ich so einen Objectbaum dynamisch zusammensetzen um an die gewünschten Felder zu kommen ?

Nimm statt simpleXML einfach parse_into_strukt (oder so ähnlich, ich kann grad php.net nicht erreichen)

Dann hast du den ganzen DOMTree in einem Array und kannst das rekursiv durchlaufen.

Simple_XML Objektbaum dynamisch durchgehen ?

Der folgende Beitrag wurde am 21. 06. 2006, 21:38 Uhr von Chrisi veröffentlicht.

Hi,

> Dann hast du den ganzen DOMTree in einem Array und kannst das rekursiv durchlaufen.

Danke, habe es nun hinbekommen.

Chrisi

© 1998-2013 SELFHTMLImpressumSoftware: Classic Forum 3.4