xml_set_element_handler
(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。
Note: 除了函数名,还可以用一个数组作参数,该数组由一个对象名和该对象的一个方法名两个元素组成。