PHP xml_set_element_handler() 函数

返回上一级

PHP xml_set_element_handler() 函数规定在 XML 文档中元素的起始和终止调用的函数

函数原型

xml_set_element_handler(parser,start,end)
参数 描述
parser 必需。规定要使用的 XML 解析器
start 必需。规定在元素开始调用的函数
end 必需。规定在元素结束调用的函数

"start" 参数规定的函数必须有三个参数

参数 描述
parser 必需。规定一个变量,包含调用处理器的 XML 解析器
name 必需。规定一个变量,包含 XML 文件中的元素的名称(作为字符串),这个元素触发该函数
data 必需。规定一个数组,包含 XML 文件中的元素属性(作为字符串)

"end" 参数规定的函数必须有两个参数

参数 描述
parser 必需。规定一个变量,包含调用处理器的 XML 解析器。
name 必需。规定一个变量,包含 XML 文件中的元素的名称(作为字符串),这个元素触发该函数。

提示: start 和 end 参数可以是一个包含对象引用和方法名的数组

返回值

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

范例

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

运行以上 PHP 范例,输出结果如下

-- Note --
To: Tove
From: Jani
Heading: Reminder
Message: Don't forget me this weekend!

返回上一级

PHP 5 函数参考手册

关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2018 简单教程 twle.cn All Rights Reserved.