(PHP 4, PHP 5, PHP 7, PHP 8)
xml_set_element_handler — 建立起始和終止元素處理器
$parser, callable $start_element_handler, callable $end_element_handler): bool
為 parser 參數指定的 XML 解析器建立元素處理器函數。參數 start_element_handler 和 end_element_handler 為表示函數名稱(chēng)的字符串,這些函數必須在為 parser 指定的解析器調用 xml_parse() 函數時(shí)已存在。
parserXML 解析器的引用,用于建立起始和終止元素處理器。
start_element_handler
由 start_element_handler 參數命名的函數名必須接受三個(gè)參數:
$parser, string $name, array $attribs)parsernamename 為該處理器為之被調用的元素名。如果大小寫(xiě)折疊(case-folding)對該解析器有效,元素名將用大寫(xiě)字母表示。
attribsattribs 為一個(gè)包含有對應元素的屬性的數組(如果該元素有屬性)。數組元素的下標為屬性名,元素的值即為屬性的值。屬性名將以和元素名同樣的標準進(jìn)行大小寫(xiě)折疊(case-folded),其值不進(jìn)行大小寫(xiě)折疊。
屬性的原始順序將會(huì )被參數保留,用 each() 函數遍歷 attribs 時(shí),該數組下表的順序和屬性的順序相同。
注意: 除了函數名,含有對象引用的數組和方法名也可以作為參數。
end_element_handler
由 end_element_handler 參數命名的函數名必須接受兩個(gè)參數:
$parser, string $name)parsernamename 為該處理器為之被調用的元素名。如果大小寫(xiě)折疊(case-folding)對該解析器有效,元素名將用大寫(xiě)字母表示。
如果處理器函數名被設置為空字符串或者 false,則該有問(wèn)題的處理器將被屏蔽。
成功時(shí)返回 true, 或者在失敗時(shí)返回 false。