juillet 03, 2002
Fonction PHP pour lire un fichier XML

Pascale,

Je poursuis dans nos aventures, voici un script très simple en PHP pour lire la structure d'un fichier XML : read-index3.php.

<?php

$file = "index.xml";
$depth = array();

print "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"\n";
print "      \"http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd\">\n";
print "<html>\n";
print "<head><title>Essai de lecture avec PHP</title></head>\n";
print "<body>\n";
print "<h1>lecture de la structure avec le script read-index3.php</h1>\n";
print "<p>Voir l'article de";
print " <a href=\"/weblog/archives/000065.html#000065\">";
print "Normandie WebLog</a></p>\n<pre>";

function startElement($parser, $name, $attrs) {
    global $depth;
    for ($i = 0; $i < $depth[$parser]; $i++) {
        print "  ";
    }
    print "$name\n";
    $depth[$parser]++;
}

function endElement($parser, $name) {
    global $depth;
    $depth[$parser]--;
}

$xml_parser = xml_parser_create();
xml_set_element_handler($xml_parser, "startElement", "endElement");
if (!($fp = fopen($file, "r"))) {
    die("could not open XML input");
}

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);
print "</pre></body></html>";

?>
Posted by karl at juillet 03, 2002 07:34 PM
Comments
Post a comment
Name:


Email Address:


URL:


Comments:


Remember info?