XML Parser xml_parse
(PHP 4, PHP 5, PHP 7, PHP 8)
xml_parse — XML 문서 구문 분석 시작
설명
xml_parse(XMLParser $parser
, string $data
, bool $is_final
= false
): int
xml_parse()는 XML 문서를 구문 분석합니다. 구성된 이벤트에 대한 핸들러는 필요한 만큼 호출됩니다.
매개변수
parser
- 사용할 XML 파서에 대한 참조입니다.
data
- 구문 분석할 데이터 청크입니다.
is_final
매개변수가 설정되고 마지막 데이터가 구문 분석될 때true
인 한 새 데이터로 xml_parse()를 여러 번 호출하여 문서를 조각별로 구문 분석할 수 있습니다. is_final
- 설정되고
true
인 경우data
는 이 구문 분석에서 전송된 데이터의 마지막 부분입니다.
반환 값
성공하면 1을 반환하고 실패하면 0을 반환합니다.
실패한 구문 분석의 경우 xml_get_error_code(),xml_error_string(), xml_get_current_line_number(), xml_get_current_column_number() 및 xml_get_current_byte_index()를 사용하여 오류 정보를 검색할 수 있습니다.
메모: 일부 오류(예: 엔터티 오류)는 데이터 끝에 보고되므로 is_final
이 설정되고 true
인 경우에만 발생합니다.
변경 로그
버전 | 설명 |
---|---|
8.0.0 | parser 는 이제 XMLParser 인스턴스를 예상합니다. 이전에는 리소스가 필요했습니다. |
Examples
예제 #1 대용량 XML 문서의 청크 구문 분석
이 예는 전체 문서를 메모리에 보관할 필요가 없도록 얼마나 큰 XML 문서를 청크로 읽고 구문 분석할 수 있는지 보여줍니다. 간결함을 위해 오류 처리는 생략됩니다.
<?php
$stream = fopen('large.xml', 'r');
$parser = xml_parser_create();
// set up the handlers here
while (($data = fread($stream, 16384))) {
xml_parse($parser, $data); // parse the current chunk
}
xml_parse($parser, '', true); // finalize parsing
xml_parser_free($parser);
fclose($stream);