Hi,
cu,
Ich probier mich gerade an XML unter PHP.
Es ist mir auch schon gelungen, auf das start-tag eines Elements zu reagieren (durch experimentieren mit dem Beispiel-Script aus der Doku), aber leider weiß ich jetzt nicht weiter.
An die Attribute des Elements käm ich ja auch noch, aber ich brauch den Inhalt des Elements (reiner Text, keine weiteren Elemente)
"Mein" bisheriges Script:
$file = "D:\Mein.xml";
function startElement($parser, $name, $attrs)
{
if ($name == "name")
{
print "gefunden, Inhalt = "; //hier würd ich gern den Inhalt des Elements haben.
}
}
function endElement($parser, $name)
{
}
$xml_parser = xml_parser_create();
xml_parser_set_option($xml_parser,XML_OPTION_CASE_FOLDING,false);
xml_set_element_handler($xml_parser, "startElement", "endElement");
if (!($fp = fopen($file, "r")))
{
die("could not open XML input $file");
}
while ($data = fread($fp, 4096)) {
if (!xml_parse($xml_parser, $data, feof($fp)))
{
die(sprintf("XML error: %s at line %d",
xml_error_string(xml_get_error_code($xml_parser)),
xml_get_current_line_number($xml_parser))
);
}
}
xml_parser_free($xml_parser);
Oder kann ich den Inhalt erst im End-Tag-Handler bekommen?
Wenn ja, wie?
ach ja, die XML-Datei sieht so aus:
<?xml version = "1.0" encoding = "iso-8859-1"?>
<data>
<name>blabla</name>
<wert>blubb</wert>
</data>
TIA
Andreas
Der Optimist: Das Glas ist halbvoll. - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.