example-php-xml-structure-5

  • Examples
  • XML Element Structure Example

  • XML Element Structure Example
  • XML Element Structure Example

    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($fp4096)) {
        if (!
    xml_parse($xml_parser$datafeof($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);
    ?>