Problem mit SAX-Parser in PHP

  • Ersteller Stefan Bötschi
  • Erstellt am
S

Stefan Bötschi

Guest
Hi,

Ich möchte einige CSS-Eigenschaften, die ein User vorher per Formular eingegeben hat, aus einem XML-File mit dem SAX-Parser in PHP auslesen und das Ganze dann in ein Array packen.
Ich hab' bisher nur Beispiele dazu gefunden, die die Daten direkt ausgeben...

Das Array sollte den folgenden Aufbau haben:

$array["form_feldname"] = "form_feldinhalt";

XML-File sieht so aus:

QUOTE
<?xml version="1.0" encoding="UTF-8" ?>
<wurzeltag>
<title>Titel</title>
<cssproperties>
<property name="form_feldname">form_feldinhalt</property>
</cssproperties>
</wurzeltag>



Zur Sicherheit poste ich den ganzen PHP-Code. Es geht mir aber ,wie schon geschrieben, nur darum, die Werte in ein Array zu kriegen. Das Problem ist glaube ich, dass ich den Inhalt des öffnenden Tags ("$values) nicht in die Variable "$daten kriege"...


QUOTE
function cdata_auslassen($xml_parser, $values) {
}

function cdata_uebergeben($xml_parser, $values) {
$daten = $values;
}

function ereig_start($xml_parser, $name, $attribute) {
if($name == "property") {
xml_set_character_data_handler($xml_parser, "cdata_uebergeben");
$style[$attribute["name"]] = $daten;
} else {
xml_set_character_data_handler($xml_parser, "cdata_auslassen");
}
}

function ereig_ende($xml_parser, $name) {
}

$xml_parser = xml_parser_create();
xml_parser_set_option($xml_parser, XML_OPTION_CASE_FOLDING, 0);
xml_set_element_handler($xml_parser, "ereig_start", "ereig_ende");
$values = file_get_contents("file.xml");
xml_parse($xml_parser, $values, true);
xml_parser_free($xml_parser);



Vielen Dank für eure Hilfe!

Greats,

Stefan
 
Zurück
Oben