PHP 초보자를 위한 XML 파서

XML 파서

모든 최신 브라우저에는 XML 파서가 내장되어 있습니다.

XML 파서는 XML 문서를 JavaScript를 통해 조작할 수 있는 XML DOM 객체로 변환합니다.

<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>

다음으로 위 코드를 작동하기 위한 PHP 파일을 작성합니다

<?php
//Initialize the XML parser
$parser=xml_parser_create();

//Function to use at the start of an element
function start($parser,$element_name,$element_attrs){
    switch($element_name){
    case "NOTE":
    echo "-- Note --<br>";break;
    case "TO":
    echo "To: ";break;
    case "FROM":
    echo "From: ";break;
    case "HEADING":
    echo "Heading: ";break;
    case "BODY":
    echo "Message: ";
    }
}

//Function to use at the end of an element
function stop($parser,$element_name){
    echo "<br>";
}
//Function to use when finding character data
function char($parser,$data){
    echo $data;
}

//Specify element handler
xml_set_element_handler($parser,"start","stop");

//Specify data handler
xml_set_character_data_handler($parser,"char");

//Open XML file
$fp=fopen("test.xml","r");

//Read data
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)));
}

//Free the XML parser
xml_parser_free($parser);
?>

작동 원리:

xml_parser_create() 함수를 통해 XML 파서 초기화

다양한 이벤트 핸들러와 일치하는 함수 만들기

xml_set_element_handler( ) 추가 파서가 시작 및 끝 태그를 발견할 때 어떤 함수가 실행되는지 정의하는 함수

파서가 문자 데이터를 발견할 때 어떤 함수가 실행되는지 정의하는 xml_set_character_data_handler() 함수 추가

xml_parse() 함수 전달 "test.xml" 파일을 구문 분석하려면

오류가 있는 경우 xml_error_string() 함수를 추가하여 XML 오류를 텍스트 설명으로 변환하세요

xml_parser_free() 함수를 호출하여 xml_parser_create() 함수에 대한 할당 메모리 해제


지속적인 학습
||
<?php echo "学习ajax"; ?>
  • 코스 추천
  • 코스웨어 다운로드
현재 코스웨어를 다운로드할 수 없습니다. 현재 직원들이 정리하고 있습니다. 앞으로도 본 강좌에 많은 관심 부탁드립니다~