PHP xml_set_element_handler() 함수
정의와 사용법
xml_set_element_handler() 함수는 시작과 종료 요소 처리기를 구축합니다.
프로세서가 성공적으로 구축되면 이 함수는 true를 반환하며, 그렇지 않으면 false를 반환합니다.
문법
xml_set_element_handler(parser,start,end)
파라미터 | 설명 |
---|---|
parser | 필수. 사용할 XML 파서를 정의합니다. |
start | 필수. 요소 시작 호출을 정의합니다. |
end | 필수. 요소 종료 호출을 정의합니다. |
로 start 파라미터가 정의하는 함수는 세 가지 파라미터를 가져야 합니다:
파라미터 | 설명 |
---|---|
parser | 필수. XML 파서를 포함하는 변수를 정의합니다. |
name | 필수. 요소 이름을 포함하는 변수를 정의합니다. 이 요소가 함수를 트리거합니다. |
data | 필수. 요소 속성을 포함하는 배열을 정의합니다. |
로 end 파라미터가 정의하는 함수는 세 가지 파라미터를 가져야 합니다:
파라미터 | 설명 |
---|---|
parser | 필수. XML 파서를 포함하는 변수를 정의합니다. |
name | 필수. 요소 이름을 포함하는 변수를 정의합니다. 이 요소가 함수를 트리거합니다. |
설명
start 와 end 파라미터는 객체 참조와 메서드 이름을 포함한 배열일 수 있습니다.
예제
<?php $parser=xml_parser_create(); function start($parser,$element_name,$element_attrs) { switch($element_name) { case "NOTE": echo "-- 비고 --<br />"; break; case "TO": echo "To: "; break; case "FROM": echo "From: "; break; case "HEADING": echo "Heading: "; break; case "BODY": echo "Message: "; } } 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("XML Error: %s at line %d", xml_error_string(xml_get_error_code($parser)), xml_get_current_line_number($parser))); } xml_parser_free($parser); ?>
출력:
-- Note -- To: George From: John Heading: Reminder Message: Don't forget the meeting!