« 例
XMLタグのマッピングの例 »

XML エレメント構造の例

この最初の例は、あるドキュメント中のstart エレメントの構造をイン デントを付けて表示します。

例1 XML エレメント構造を表示

<?php
$file = "examples/book.xml";
$depth = 0;

function startElement($parser, $name, $attrs)
{
    global $depth;

    for ($i = 0; $i < $depth; $i++) {
        echo "  ";
    }
    echo "$name\n";
    $depth++;
}

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

$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)));
    }
}
?>

関連キーワード:
parser   depth   エレメント   構造   startElement   endElement   line   タグ   マッピング   最初   ドキュメント   start   デント   examples   book   attrs   create   element   handler   fopen   input   while   fread   parse   feof
関連する関数・ページ:
example.xml-map-tags   example.xml-parsing-with-class   xml.examples   function.xml-parse   function.xml-parser-free   function.xml-set-object