phpbar.de logo

Mailinglisten-Archive

[php] Re: PHP XML-Importer

[php] Re: PHP XML-Importer

Albin Blaschka php_(at)_phpcenter.de
Thu, 04 Jul 2002 12:01:24 +0200


> >habe daten die in xml vorliegen.
> >diesen sollen mittels eines importers
> >in eine datenbank.
>
> >ich will mich um diesen exporter kümmern.
> >nur ist das thema xml noch neu für mich.


Hallo,

Ich weiss zwar nicht ob es in Deine gewuenschte Richtung geht, aber
hier ein Schnippchen, das Dir vielleicht einmal einen Einstieg bringt.
Zusaetzlich habe ich da noch zwei Adressen, mit denen ich angefangen
habe, und darauf aufbauend u.a. eben dieses Schnipselchen gebastelt
habe...

http://www.zend.com/zend/art/parsing.php
http://phpclasses.htmlservice.de/browse.html/package/250.html

<schnipp>

if (_(at)_!file($filename)) {
         echo "Fehler";
         exit;
}else{
         $xml = file($filename);
}

reset ($xml);
$xml = implode($xml,'');

$parser = xml_parser_create();
xml_parser_set_option($parser,XML_OPTION_CASE_FOLDING,0);
xml_parser_set_option($parser,XML_OPTION_SKIP_WHITE,1);
$ok = xml_parse_into_struct($parser,&$xml,$values,$tags);

if ($ok != true) {
     $code = xml_get_error_code($parser);
     echo 'XML error: '.xml_error_string($code).' on line ' .
xml_get_current_line_number($parser) . "\n";
  }else{
       reset ($tags);
       reset ($values);

       while (list ($key, $val) = each ($values)) {
             if ($val['type'] == 'complete') {
                $werte[$val['tag']] = $val['value'];
             }
       }
}

</schnipp>

Du hast dann ein Array "$werte" mit dem XML-Tag als Index...
Sections, also Tags, die mehrere Tags beinhalten, werden ignoriert
( if ($val['type'] == 'complete') ... )

Kannst ja mal herumprobieren....Fragen wieder jederzeit...

HTH,
Albin
/////////////////////////////////////////////////////////////////////
//  Albin Blaschka, Mag. rer. nat.
//  Etrichstraße 26
//  A - 5020 Salzburg
//  It´s hard to live in the mountains,
//  hard, but not hopeless!
////////////////////////////////////////////////////////////////////


php::bar PHP Wiki   -   Listenarchive