Hi ich habe folgenden XML file:
<level0 id="a1">A
<level1 id="b1">B1
<level2 id="c1">C1</level2>
<level2 id="c2">C2</level2>
</level1>
<level1 id="b2">B2
<level2 id="c3">C3</level2>
<level2 id="c4">C4</level2>
</level1>
</level0>
ich parse es mit diesen Script:
Aber las Ausgabe bekommen ich folgendes:
Inhalt
A B1 C1 C2 B2 C3 C4
Das aber was ich bekommen möchte ist:
A(a1)
B1(b1)
C1(c1)
C2(c2)
B2(b2)
C3(c3)
C4(c4)
Das bedeutet unter die Hauptnodes müssen die Unternodes angezeigt werden und im Klammer den Atribunte "id"
Kann mir jemand hier helfen oder zumindest einen Tutorial oder Beispiel zeigen wo ich mehr darüber lesen kann??
Ich bedanke mich im voraus
Gruß
Nik
<level0 id="a1">A
<level1 id="b1">B1
<level2 id="c1">C1</level2>
<level2 id="c2">C2</level2>
</level1>
<level1 id="b2">B2
<level2 id="c3">C3</level2>
<level2 id="c4">C4</level2>
</level1>
</level0>
ich parse es mit diesen Script:
Code:
function startElement($parser, $element_name, $element_attribute) { global $ausgabe, $elementNameLevel; $element_name = strtolower($element_name); if ($element_name=="level0") { ++$elementNameLevel; $ausgabe .= "<h3>Inhalt</h3> "; } } function endElement($parser, $element_name) { global $ausgabe, $elementNameLevel; $element_name = strtolower($element_name); if ($element_name=="level0") { --$elementNameLevel; $ausgabe .= "</p>"; } } function cdata($parser, $element_inhalt) { global $ausgabe, $elementNameLevel; if ($elementNameLevel == 1) $ausgabe .= $element_inhalt; } $xmlFile = file("users/test/rubriken/rubriken.xml"); $parser = xml_parser_create(); xml_set_element_handler($parser, "startElement", "endElement"); xml_set_character_data_handler($parser, "cdata"); $ausgabe = ''; $elementNameLevel = 0; foreach($xmlFile as $elem) { xml_parse($parser, $elem); } xml_parser_free($parser); echo $ausgabe;
Inhalt
A B1 C1 C2 B2 C3 C4
Das aber was ich bekommen möchte ist:
A(a1)
B1(b1)
C1(c1)
C2(c2)
B2(b2)
C3(c3)
C4(c4)
Das bedeutet unter die Hauptnodes müssen die Unternodes angezeigt werden und im Klammer den Atribunte "id"
Kann mir jemand hier helfen oder zumindest einen Tutorial oder Beispiel zeigen wo ich mehr darüber lesen kann??
Ich bedanke mich im voraus
Gruß
Nik
Kommentar