Hallo Leute,
ich brauche mal ein wenig Hilfe:
Ich habe gerade ein kleines Projekt, bei dem ich aus einer XML-File Informationen auslese.
Dies geschieht per:
nun habe ich in $char_info ein array mit allen Inforrmationen stehen.
Das ist auch gar kein Problem, auser die XML-Datei ist "tiefer" verschachtelt als 1 Ebene.
BSP XML:
BSP Array:
(wo die zusätzlichen Informationen her kommen weis ich nicht ^^)
Darauf kann ich mit $char_info[12][value] zugreifen.
Doch später kommt so etwas hier:
Was dann geparst so aussieht im array:
Hier möchte ich gern die Werte unter [SKILLPOINTS] addieren.
Wie stell ich das am besten an? das Problem für mich ist, dass der XML Parser
für jeden Abschnitt ein neues Feld im Array anlegt anstatt es
untergeordnet von [47] anzuordnen.
Ich bin mir bewusst, dass das ein sehr spezielles Problem ist,
aber vllt hat ja jemand mal genug Zeit / Lust es sich durch den Kopf gehen zu lassen =)
Danke im Vorraus
mfg Ind3X
ich brauche mal ein wenig Hilfe:
Ich habe gerade ein kleines Projekt, bei dem ich aus einer XML-File Informationen auslese.
Dies geschieht per:
PHP-Code:
$p = xml_parser_create();
xml_parse_into_struct($p, $source, $char_info, $info);
xml_parser_free($p);
return $char_info;
Das ist auch gar kein Problem, auser die XML-Datei ist "tiefer" verschachtelt als 1 Ebene.
BSP XML:
Code:
<gender>Female</gender>
Code:
[12] => Array ( [tag] => GENDER [type] => complete [level] => 3 [value] => Female)
Darauf kann ich mit $char_info[12][value] zugreifen.
Doch später kommt so etwas hier:
Code:
<rowset name="skills" key="typeID" columns="typeID,skillpoints,level,unpublished"> <row typeID="3431" skillpoints="8000" level="3"/> <row typeID="3413" skillpoints="8000" level="3"/> <row typeID="21059" skillpoints="500" level="1"/> <row typeID="3416" skillpoints="8000" level="3"/> <row typeID="3445" skillpoints="277578" unpublished="1"/> </rowset>
Code:
[47] => Array ( [tag] => ROWSET [type] => open [level] => 3 [attributes] => Array ( [NAME] => skills [KEY] => typeID [COLUMNS] => typeID,skillpoints,level,unpublished ) [value] => ) [48] => Array ( [tag] => ROW [type] => complete [level] => 4 [attributes] => Array ( [TYPEID] => 3410 [SKILLPOINTS] => 445234 [LEVEL] => 4 ) ) [49] => Array ( [tag] => ROWSET [value] => [type] => cdata [level] => 3 ) [50] => Array ( [tag] => ROW [type] => complete [level] => 4 [attributes] => Array ( [TYPEID] => 26261 [SKILLPOINTS] => 750 [LEVEL] => 1 ) ) USW...
Wie stell ich das am besten an? das Problem für mich ist, dass der XML Parser
für jeden Abschnitt ein neues Feld im Array anlegt anstatt es
untergeordnet von [47] anzuordnen.
Ich bin mir bewusst, dass das ein sehr spezielles Problem ist,
aber vllt hat ja jemand mal genug Zeit / Lust es sich durch den Kopf gehen zu lassen =)
Danke im Vorraus
mfg Ind3X
Kommentar