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);