PHP & XML

话不多说,直接粘代码~代码有相关注释~��

<html>
<body>

    <h1>Expat 解析器</h1>

    <?php 
        // 创建 XML 解析器
        $parser = xml_parser_create();

        // 元素开始时使用的函数
        function start($parser, $ele_name, $ele_attrs)
        {
            switch ($ele_name) {
                case 'NOTE':
                    echo "-- NOTE --<br>";
                    break;
                case 'TO':
                    echo "To:";
                    break;
                case 'FROM':
                    echo "From:";
                    break;
                case 'HEADING':
                    echo "Heading:";
                    break;
                case 'BODY':
                    echo "Message:";
                    break;
            }
        }
        // 元素结束时使用的函数
        function stop($parser, $ele_name)        
        {
            echo "<br>";
        }
        // 查找字符数据时使用的函数
        function char($parser, $data)
        {
            echo $data;
        }
        // 指定元素处理程序为 start() 和 stop() 函数
        xml_set_element_handler($parser, "start", "stop");
        // 制定数据处理程序为 char() 函数
        xml_set_character_data_handler($parser, "char");
        // 打开xml文件.模式为 r 只读
        $fp = fopen("test.xml", "r");

        // 便历输出数据
        while ($data = fread($fp, 4096)) {
            xml_parse($parser, $data, feof($fp)) or //使用xml解析器解析数据
            die(sprintf("XML Error: %s at line %d",
            xml_error_string(xml_get_error_code($parser)), // 出错代码
            xml_get_current_line_number($parser))); // 出错位置
        }

        echo "string☺��<br>";

        // 释放xml解析器
        xml_parser_free($parser);
     ?>

     <h1>XML DOM</h1>

    <?php 
        // 初始化xml解析器
        $xmlDoc = new DOMDocument();
        // 加载xml
        $xmlDoc -> load("test.xml");

        print($xmlDoc -> saveXML() . "<br>");

        $x = $xmlDoc->documentElement;
        foreach ($x->childNodes AS $item)
        {
            print $item->nodeName . " = " . $item->nodeValue . "<br>";
        }
     ?>

    <h1>SimpleXML</h1>
    <?php 
        # 加载xml文件
        $xml = simplexml_load_file("test.xml");
        print_r($xml);

        echo "<br>Heading:" . $xml -> heading; // 获取指定元素
     ?>
</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值