Servus,
krieg es mit dem xml nicht auf die Reihe.
Versuche mit folgendem script die Daten in die db zu schreiben.
Bei der Ausgabe wird aber nur der letzte Datensatz angezeigt.
Und er wird noch nicht einmal in die Tabelle eingefügt. Bin schon betriebsblind - vielleicht sieht einer mehr.
krieg es mit dem xml nicht auf die Reihe.
Versuche mit folgendem script die Daten in die db zu schreiben.
Bei der Ausgabe wird aber nur der letzte Datensatz angezeigt.
Und er wird noch nicht einmal in die Tabelle eingefügt. Bin schon betriebsblind - vielleicht sieht einer mehr.
PHP-Code:
<?
$file = "2784_2005-03-31_02-02-13.xml";
$feed = array();
$key = "";
$info = "";
function startElement($xml_parser, $attrs ) {
global $feed;
}
function endElement($xml_parser, $name) {
global $feed, $info;
$key = $name;
$feed[$key] = $info;
$info = ""; }
function charData($xml_parser, $data ) {
global $info;
$info .= $data; }
$xml_parser = xml_parser_create();
xml_set_element_handler($xml_parser, "startElement", "endElement");
xml_set_character_data_handler($xml_parser, "charData" );
$fp = fopen($file, "r");
while ($data = fread($fp, 8192))
!xml_parse($xml_parser, $data, feof($fp));
xml_parser_free($xml_parser);
$sql= "INSERT INTO `my_table` ( `";
$j=0;
$i=count($feed);
foreach( $feed as $assoc_index => $value )
{
$j++;
$sql.= strtolower($assoc_index);
if($i>$j) $sql.= "` , `";
if($i<=$j) {$sql.= "` ) VALUES ('";}
}
$h=0;
foreach( $feed as $assoc_index => $value )
{
$h++;
$sql.= utf8_decode(trim(addslashes($value)));
if($i-1>$h) $sql.= "', '";
if($i<=$h) $sql.= "','')";
}
$sql=trim($sql);
echo $sql;
?>
Kommentar