Hi Leute,
in einer XML-Datei stehen HTML-Elemente. Genauer gesagt ein select-tag mit mehreren und vor allem einer variierenden anzahl an option-tags.
das ganze wird in etwa so geliefert und muss so verarbeitet werden:
Ich möchte nun also gerne das Element query_result_0 auslesen.
Das habe ich erfolglos mit folgendem Script probiert:
Wenn ich statt "query_result_0" oben in der if-schleife beispielsweise "todo" eingebe, dann erhalte ich das richtige ergebnis.
Was mache ich falsch. Bin für jeden Tip dankbar.
Danke,
Flo
in einer XML-Datei stehen HTML-Elemente. Genauer gesagt ein select-tag mit mehreren und vor allem einer variierenden anzahl an option-tags.
das ganze wird in etwa so geliefert und muss so verarbeitet werden:
Code:
<result ok="true"> <SET>route</SET> <CID>****</CID> <todo>showRouteList</todo> <state>routeInput</state> <DEVICECHECK>0</DEVICECHECK> <ALTERNATIVES>50</ALTERNATIVES> <STYLE>xml</STYLE> <LANG>DEU</LANG> <query_result_0 results="6"> <select name="JOINED_0"> <option selected value="0|D|25746|Heide|||||1010772|7199214|">D-25746 Heide </option> <option value="0|D|25746|Heide|Süderholm||||1017271|7199845|">D-25746 Heide Süderholm </option> <option value="0|D|25746|Heide|Bennewohld||||1022394|7200770|">D-25746 Heide Bennewohld </option> <option value="0|D|25746|Heide|Dellweg; Gem Heide||||1006371|7200820|">D-25746 Heide Dellweg; Gem Heide </option> <option value="0|D|25746|Heide|Duvenheide||||1018330|7197726|">D-25746 Heide Duvenheide </option> <option value="0|D|25746|Heide|Hochfeld||||1008117|7200153|">D-25746 Heide Hochfeld </option> </select> </query_result_0> </result>
Ich möchte nun also gerne das Element query_result_0 auslesen.
Das habe ich erfolglos mit folgendem Script probiert:
PHP-Code:
<?
function elem_start($xml_parser, $name, $attribute) {
if($name == "query_result_0"){
xml_set_character_data_handler($xml_parser, "cdata_ausgeben");
}else{
xml_set_character_data_handler($xml_parser, "cdata_nichtausgeben");
}
}
function elem_ende($xml, $name) {
}
function cdata_ausgeben($xml, $daten){
echo htmlspecialchars($daten);
}
function cdata_nichtausgeben($xml, $daten){
}
$xml_parser = xml_parser_create();
xml_parser_set_option($xml_parser, XML_OPTION_CASE_FOLDING, false);
xml_set_element_handler($xml_parser, "elem_start", "elem_ende");
$daten = file_get_contents($file);
xml_parse($xml_parser, $daten, true);
xml_parser_free($xml_parser);
?>
Was mache ich falsch. Bin für jeden Tip dankbar.
Danke,
Flo
Kommentar