Php/docs/example.xml-structure

From Get docs

XML Element Structure Example

This first example displays the structure of the start elements in a document with indentation.

Example #1 Show XML Element Structure

<?php$file = "data.xml";$depth = array();function startElement($parser, $name, $attrs){    global $depth;    if (!isset($depth[$parser])) {        $depth[$parser] = 0;    }    for ($i = 0; $i < $depth[$parser]; $i++) {        echo "  ";    }    echo "$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);?>