PHP xml_set_unparsed_entity_decl_handler() funktionen
Definition och användning
xml_set_unparsed_entity_decl_handler() funktionen definierar vilken funktion som anropas när en ohanterbar entitetsnamn (NDATA) deklaration störs.
Om hanteraren etableras framgångsrikt kommer funktionen att returnera true; annars returneras false.
Syntax
xml_set_unparsed_entity_decl_handler(parser,handler)
Parameter | Beskrivning |
---|---|
parser | Nödvändigt. Definiera den XML-parser som ska användas. |
handler | Nödvändigt. Definiera en funktion. |
Av handler Den funktion som definieras av parametern måste ha sex parametrar:
Parameter | Beskrivning |
---|---|
parser | Nödvändigt. Definiera en variabel som innehåller XML-parsern som anropar hanteraren. |
name | Nödvändigt. Definiera en variabel som innehåller namnet på entiteten. |
base |
Nödvändigt. Definiera en variabel som innehåller grunden för att解析 entitetsens systemidentifierare (system_id). För närvarande är denna parameter vanligtvis satt till en tom sträng. |
system_id | Nödvändigt. Definiera en variabel som innehåller systemidentifieraren för entiteten. |
public_id | Nödvändigt. Definiera en variabel som innehåller den allmänna identifieraren för entiteten. |
notation | Nödvändigt. Definiera en variabel som innehåller symboler för datatyper för den identifierade entiteten. |
说明
handler 参数也可以是一个数组,其中包含对象引用和方法名。
实例
<?php $parser=xml_parser_create(); function char($parser,$data) { echo $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("XML Error: %s at line %d", xml_error_string(xml_get_error_code($parser)), xml_get_current_line_number($parser))); } xml_parser_free($parser); ?>