Hallo
ich habe folgenden PHP Code:
function startElement($parser, $name, $atts) {
global $html, $querry;
switch (strtolower($name)) {
case "news":
break;
case $querry:
$html .= "<a name="".$atts["ID"].""></a>";
break;
default:
// Ein ungültiges Element ist vorgekommen.
$error = "Undefiniertes Element <".$name.">";
die($error . " in Zeile " .
xml_get_current_line_number($parser));
break;
}
}
function endElement($parser, $name) {
global $html;
switch (strtolower($name)) {
case "ref":
// Den HTML-Link schließen:
$html .= "</a>";
break;
}
}
function cdata($parser, $text) {
global $html, $object;
// Der normale Text wird einfach an $html angehängt:
$html .= $text;
}
$xmlFile = implode("", file("test.xml"));
// Der Parser wird erstellt
$parser = xml_parser_create();
// Setzen der Handler
xml_set_element_handler($parser,"startElement","endElement");
// Setzen des CDATA-Handlers
xml_set_character_data_handler($parser, "cdata");
// Parsen
xml_parse($parser, $xmlFile);
// Gibt alle verbrauchten Ressourcen wieder frei.
xml_parser_free($parser);
// Ausgabe der globalen Variable $html.
print $html;
Meine XML-Datei:
<news id="n1">
Hier kommt dann der Text hinn, der die Welt bedeutetd, oder
</news>
<news id="n2">
Hier2 kommt dann der Text hinn, der die Welt bedeutetd, oder
</news>
Nun möchte ich aber, das wenn ich query dementsprechend definiere (=news), nicht immer alle Inhalte angezeigt werden sondern nur den Inhalt der aktuelle ID. Das heißt, wenn ich Id = n2 habe soll der zweite Text angezeigt werden. Wie muss ich dabei miene PHP Code abändern?
Gruß
Manfred