<전체 PHP의 XML 참조
정의 및 사용
xml_set_external_entity_ref_handler() 함수는 파서가 XML 문서에 외부 엔티티를 발견하면 함수가 호출을 지정합니다.
이 함수는 성공시 TRUE, 실패하면 FALSE를 반환합니다.
통사론
xml_set_external_entity_ref_handler(parser,handler)
매개 변수 | 기술 |
---|---|
parser | 필요합니다. 사용하는 XML 파서를 지정합니다 |
handler | 필요합니다. 파서가 외부 엔티티를 발견 할 때 호출되는 함수를 지정합니다 |
에 의해 지정된 기능 "handler" 매개 변수는 5 개 개의 매개 변수가 있어야합니다 :
매개 변수 | 기술 |
---|---|
parser | 필요합니다. 핸들러를 호출하는 XML 파서를 포함하는 변수를 지정합니다 |
name | 필요합니다. 외부 개체의 이름이 포함 된 변수를 지정합니다 |
base | 필요합니다. 시스템 식별자 해결베이스 지정 (system_id) 외부의 엔티티가. 현재이 항상 NULL이다 |
system_id | 필요합니다. 외부 엔티티의 시스템 식별자를 지정 |
public_id | 필요합니다. 외부 엔티티의 공개 식별자를 지정합니다 |
팁과주의 사항
Note: 핸들러 파라미터는 오브젝트 레퍼런스 및 방법 이름을 포함하는 배열 될 수있다.
예
<?php
$parser=xml_parser_create();
function char($parser,$data)
{
echo $data;
}
function ext_ent_handler($parser,$ent,$base,$sysID,$pubID)
{
echo "$ent<br />";
echo "$sysID<br />";
echo "$pubID<BR />";
}
xml_set_character_data_handler($parser,"char");
xml_set_external_entity_ref_handler($parser, "ext_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);
?>
<전체 PHP의 XML 참조