Hàm PHP xml_set_unparsed_entity_decl_handler()
Định nghĩa và cách sử dụng
Hàm xml_set_unparsed_entity_decl_handler() quy định hàm được gọi khi gặp tên thực thể không thể giải mã (NDATA) được.
Nếu bộ xử lý được thành công, hàm này sẽ trả về true; ngược lại trả về false.
Ngữ pháp
xml_set_unparsed_entity_decl_handler(parser,处理器)
Tham số | Mô tả |
---|---|
parser | Bắt buộc. Định nghĩa bộ giải mã XML cần sử dụng. |
处理器 | Bắt buộc. Định nghĩa một hàm. |
Bởi 处理器 Tham số quy định hàm phải có sáu tham số:
Tham số | Mô tả |
---|---|
parser | Bắt buộc. Định nghĩa một biến, chứa bộ giải mã XML của bộ xử lý. |
name | Bắt buộc. Định nghĩa biến chứa tên của thực thể. |
base |
Bắt buộc. Định nghĩa một biến, chứa cơ sở của chỉ số hệ thống (system_id) của thực thể. Hiện tại tham số này thường được đặt là chuỗi rỗng. |
system_id | Bắt buộc. Định nghĩa biến chứa chỉ số hệ thống của thực thể. |
public_id | Bắt buộc. Định nghĩa biến chứa chỉ số công cộng của thực thể. |
notation | Bắt buộc. Định nghĩa một biến, chứa ký hiệu标识实体数据类型的符号。 |
Mô tả
处理器 Tham số cũng có thể là một mảng, trong đó chứa tham chiếu đối tượng và tên phương thức.
Mẫu
<?php $parser=xml_parser_create(); function char($parser,$data) { } function unparsed_ent_handler($parser,$entname, $base,$sysID,$pubID,$notname) { print "$entname"; print "$sysID"; print "$pubID"; print "$notname"; } xml_set_unparsed_entity_decl_handler($parser, "unparsed_ent_handler"); $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); ?>