>백엔드 개발 >PHP 튜토리얼 >PHP로 XML 데이터 읽기

PHP로 XML 데이터 읽기

高洛峰
高洛峰원래의
2016-12-02 10:24:461603검색

parser는 XML 처리를 위해 PHP에 내장된 파서입니다. 해당 작업은 시작 태그, 데이터 읽기 및 종료 태그의 세 가지 이벤트로 구성됩니다.
즉, xml을 처리할 때 시작 태그, 데이터 및 종료 태그가 나타날 때마다 함수는 해당 작업을 수행하여 xml 데이터 변환을 완료합니다.
PHP에서 XML 읽기 관련 함수 소개:
인용:
객체 XML 구문 분석 함수 설명:
요소 xml_set_element_handler() 요소의 시작과 끝
문자 데이터 xml_set_character_data_handler() 문자 데이터의 시작
외부 엔터티 xml_set_external_entity_ref_handler() 외부 엔터티가 나타남
파싱되지 않은 외부 엔터티 xml_set_unparsed_entity_decl_handler() 파싱되지 않은 외부 엔터티가 나타남
처리 명령 xml_set_processing_instruction_handler() 처리 명령이 나타남
표기법 선언 xml_set_notation ( ) 표기의 모습 선언
Default xml_set_default_handler() 핸들러 함수를 지정하지 않는 기타 이벤트
다음은 파서 함수를 사용하여 xml 데이터를 읽는 예입니다.

// 파서 편집기 만들기
$parser = xml_parser_create();
//태그가 트리거될 때 해당 기능을 설정합니다. 여기에 각각 startElement와 endElement가 있습니다($parser, "startElement", "endElement). " );
//데이터를 읽을 때 해당 기능을 설정
xml_set_character_data_handler($parser, "characterData");
$xml_file="1.xml";//읽을 xml 파일을 지정 , URL이 될 수 있습니다
$filehandler = fopen($xml_file, "r");//파일 열기
while ($data = fread($filehandler, 4096))
{
xml_parse( $parser , $data, feof($filehandler))
}//처리할 때마다 4096바이트를 가져옵니다.
fclose($filehandler)
//파서 파서를 닫고 해제합니다.
xml_parser_free ($parser);
$name=false;
$position=false;//시작 태그 이벤트 기능
function startElement($parser_instance, $element_name, $attrs)
{
전역 $name,$position
if($element_name=="NAME"){
$name=true
$position=false
echo "이름:";
}
if($element_name=="POSITION"){
$name=false;
$position=true
echo "웹사이트:"
}
//데이터를 읽을 때의 함수
function CharacterData($parser_instance, $xml_data)
{
global $name,$position
if($position)
echo $xml_data ."
";
if($name)
echo $xml_data."
"
}
//태그 이벤트 함수 종료
function endElement($ 파서_인스턴스, $element_name)
{
전역 $name,$position
$name=false

?> >
xml 파일 코드는 다음과 같습니다.


웹사이트 이름

php 중국 웹사이트
직원>
<이름>웹사이트 URL

<위치 age="45">http://www.php.cn

🎜>



성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.