• PHP xml_parse() 函数


    定义和用法

    xml_parse() 函数解析 XML 文档。高佣联盟 www.cgewang.com

    如果成功,该函数则返回 TRUE。如果失败,则返回 FALSE。

    语法

    xml_parse(parser,xml,end)
    参数描述
    parser 必需。规定要使用的 XML 解析器。
    xml 必需。规定要解析的 XML 数据。
    end 可选。如果该参数是 TRUE,则 "xml" 参数中的数据为当前解析中最后一段数据。

    注释: 实体错误在解析的最后被报告,且仅在 "end" 参数是 TRUE 时才显示。


    提示和注释

    提示:要创建 XML 解析器,请使用 xml_parser_create() 函数。


    实例 1

    XML 文件

    <?xml version="1.0" encoding="ISO-8859-1"?>
    <note>
    <to>Tove</to>
    <from>Jani</from>
    <heading>Reminder</heading>
    <body>Don't forget me this weekend!</body>
    </note>

    PHP 代码

    <?php
    $parser=xml_parser_create();

    function char($parser,$data)
    {
    echo $data;
    }

    xml_set_character_data_handler($parser,"char");
    $fp=fopen("test.xml","r");

    while ($data=fread($fp,4096))
    {
    xml_parse($parser,$data,feof($fp)) or 
    die (sprintf("XML Error: %s at line %d", 
    xml_error_string(xml_get_error_code($parser)),
    xml_get_current_line_number($parser)));
    }

    xml_parser_free($parser);
    ?>

    上面代码的输出如下所示:

    Tove Jani Reminder Don't forget me this weekend!

    实例 2

    使用相同的 XML 文件但通过不同的方式显示 XML 数据:

    <?php
    $parser=xml_parser_create();

    function start($parser,$element_name,$element_attrs)
    {
    switch($element_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: ";
    }
    }

    function stop($parser,$element_name)
    {
    echo "<br />";
    }

    function char($parser,$data)
    {
    echo $data;
    }

    xml_set_element_handler($parser,"start","stop");
    xml_set_character_data_handler($parser,"char");
    $fp=fopen("test.xml","r");

    while ($data=fread($fp,4096))
    {
    xml_parse($parser,$data,feof($fp)) or 
    die (sprintf("XML Error: %s at line %d", 
    xml_error_string(xml_get_error_code($parser)),
    xml_get_current_line_number($parser)));
    }

    xml_parser_free($parser);
    ?>

    上面代码的输出如下所示:

    -- Note --
    To: Tove
    From: Jani
    Heading: Reminder
    Message: Don't forget me this weekend!
  • 相关阅读:
    cnblogs 博客园下载工具
    SQL 排序规则 CodeProject
    SQL 排序规则问题
    Datatbel和 string之间的相互转换
    C#三步实现标准事件处理程序
    利用C#来做ASP.NET的登陆页面
    C#用panel实现子窗体的切换
    C#中split分隔字符串的应用
    C#.NET 用程序画图,曲线图
    C#中消息的工作流程
  • 原文地址:https://www.cnblogs.com/yc10086/p/13152760.html
Copyright © 2020-2023  润新知