PHP 手册
后退 |  | 前进

# xml_set_element_handler

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

xml_set_element_handler -- 建立起始和终止元素处理器

## 说明

bool xml_set_element_handler ( resource parser, callback start_element_handler, callback end_element_handler )

为 parser 参数指定的 XML 解析器建立元素处理器函数。参数 start_element_handler 和 end_element_handler 为表示函数名称的字符串，这些函数必须在为 parser 指定的解析器调用 xml_parse() 函数时已存在。

由 start_element_handler 参数命名的函数名必须接受三个参数： start_element_handler ( resource parser, string name, array attribs )

parser

  第一个参数 parser 为指向要调用处理器的 XML 解析器的指针。

name

  第二个参数 name 为该处理器为之被调用的元素名。如果大小写折叠（case-folding）对该解析器有效，元素名将用大写字母表示。

attribs

  第三个参数 attribs 为一个包含有对应元素的属性的数组（如果该元素有属性）。数组元素的下标为属性名，元素的值即为属性的值。属性名将以和元素名同样的标准进行大小写折叠（case-folded），其值不进行大小写折叠。

  属性的原始顺序将会被参数保留，用 each() 函数遍历 attribs 时，该数组下表的顺序和属性的顺序相同。

由 end_element_handler 参数命名的函数名必须接受两个参数： end_element_handler ( resource parser, string name )

parser

  第一个参数 parser 为指向要调用处理器的 XML 解析器的指针。

name

  第二个参数 name 为该处理器为之被调用的元素名。如果大小写折叠（case-folding）对该解析器有效，元素名将用大写字母表示。

如果处理器函数名被设置为空字符串或者 `FALSE`，则该有问题的处理器将被屏蔽。

如果处理器被成功的建立，该函数将返回 `TRUE`；如果 parser 指向的不是合法的解析器，函数该函数将返回 `FALSE`。

> 注: 除了函数名，还可以用一个数组作参数，该数组由一个对象名和该对象的一个方法名两个元素组成。

后退 | 起点 | 前进
xml_set_default_handler | 上一级 | xml_set_end_namespace_decl_handler