Hàm xml_set_element_handler() trong PHP
Định nghĩa và cách sử dụng
Hàm xml_set_element_handler() thiết lập bộ xử lý phần tử bắt đầu và kết thúc.
Nếu bộ xử lý được tạo thành công, hàm này sẽ trả về true; ngược lại trả về false.
Ngữ pháp
xml_set_element_handler(parser,start,end)
Tham số | Mô tả |
---|---|
parser | Bắt buộc. Định nghĩa bộ phân tích XML cần sử dụng. |
start | Bắt buộc. Định nghĩa hàm được gọi khi phần tử bắt đầu. |
end | Bắt buộc. Định nghĩa hàm được gọi khi phần tử kết thúc. |
bởi start Tham số quy định hàm phải có ba tham số:
Tham số | Mô tả |
---|---|
parser | Bắt buộc. Định nghĩa một biến chứa bộ phân tích XML của bộ xử lý. |
name | Bắt buộc. Định nghĩa một biến chứa tên của phần tử, phần tử này kích hoạt hàm này. |
data | Bắt buộc. Định nghĩa một mảng chứa thuộc tính của phần tử. |
bởi end Tham số quy định hàm phải có ba tham số:
Tham số | Mô tả |
---|---|
parser | Bắt buộc. Định nghĩa một biến chứa bộ phân tích XML của bộ xử lý. |
name | Bắt buộc. Định nghĩa một biến chứa tên của phần tử, phần tử này kích hoạt hàm này. |
Giải thích
start và end Tham số cũng có thể là một mảng chứa tham chiếu đối tượng và tên phương thức.
Mô hình
<?php $parser=xml_parser_create(); function start($parser,$element_name,$element_attrs) { switch($element_name) { case "NOTE": echo "-- Lưu ý --<br />"; break; case "TO": echo "Đến: "; break; case "FROM": echo "Từ: "; break; case "HEADING": echo "Tiêu đề: "; break; case "BODY": echo "Thông báo: "; } } 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("Lỗi XML: %s tại dòng %d", xml_error_string(xml_get_error_code($parser)), xml_get_current_line_number($parser))); } xml_parser_free($parser); ?>
Kết quả xuất ra:
-- Lưu ý -- Đến: George Từ: John Tiêu đề: Lời nhắc Thông báo: Đừng quên cuộc họp!