xml_set_element_handler

(PHP 4, PHP 5, PHP 7, PHP 8)

xml_set_element_handler建立起始和終止元素處理器

說明

xml_set_element_handler(resource $parser, callable $start_element_handler, callable $end_element_handler): bool

parser 參數(shù)指定的 XML 解析器建立元素處理器函數(shù)。參數(shù) start_element_handlerend_element_handler 為表示函數(shù)名稱的字符串,這些函數(shù)必須在為 parser 指定的解析器調(diào)用 xml_parse() 函數(shù)時已存在。

參數(shù)

parser

XML 解析器的引用,用于建立起始和終止元素處理器。

start_element_handler

start_element_handler 參數(shù)命名的函數(shù)名必須接受三個參數(shù):

start_element_handler(resource $parser, string $name, array $attribs)
parser
第一個參數(shù) parser 為指向要調(diào)用處理器的 XML 解析器的指針。
name
第二個參數(shù) name 為該處理器為之被調(diào)用的元素名。如果大小寫折疊(case-folding)對該解析器有效,元素名將用大寫字母表示。
attribs
第三個參數(shù) attribs 為一個包含有對應(yīng)元素的屬性的數(shù)組(如果該元素有屬性)。數(shù)組元素的下標(biāo)為屬性名,元素的值即為屬性的值。屬性名將以和元素名同樣的標(biāo)準(zhǔn)進(jìn)行大小寫折疊(case-folded),其值進(jìn)行大小寫折疊。 屬性的原始順序?qū)粎?shù)保留,用 each() 函數(shù)遍歷 attribs 時,該數(shù)組下表的順序和屬性的順序相同。

注意: 除了函數(shù)名,含有對象引用的數(shù)組和方法名也可以作為參數(shù)。

end_element_handler

end_element_handler 參數(shù)命名的函數(shù)名必須接受兩個參數(shù):

end_element_handler(resource $parser, string $name)
parser
第一個參數(shù) parser 為指向要調(diào)用處理器的 XML 解析器的指針。
name
第二個參數(shù) name 為該處理器為之被調(diào)用的元素名。如果大小寫折疊(case-folding)對該解析器有效,元素名將用大寫字母表示。

如果處理器函數(shù)名被設(shè)置為空字符串或者 false,則該有問題的處理器將被屏蔽。

返回值

成功時返回 true, 或者在失敗時返回 false。