현재 위치: > 최신 기사 목록> XML_PARSE 함수를 사용하여 XML 파일의 속성 및 요소를 구문 분석하는 방법은 무엇입니까?

XML_PARSE 함수를 사용하여 XML 파일의 속성 및 요소를 구문 분석하는 방법은 무엇입니까?

M66 2025-05-13

PHP에서 XML 파일을 구문 분석하는 것은 데이터 교환 및 구성 파일을 처리하는 일반적인 방법입니다. XML_PARSE () 함수는 PHP가 제공하는 이벤트 중심의 XML 구문 분석 방법입니다. 다른 파서 함수를 결합하여 XML 파일의 요소와 속성을 읽을 수 있습니다. 이 기사에서는 XML_PARSE ()를 사용하여 XML을 구문 분석하고 요소 내용 및 속성 정보를 추출하는 방법을 이해하기 위해 단계별로 진행됩니다.

1. XML 샘플 파일을 준비하십시오

먼저 구문 분석을위한 간단한 XML 예제를 준비합니다. 파일의 이름이 example.xml 이라고 가정하면 내용은 다음과 같습니다.

 <?xml version="1.0" encoding="UTF-8"?>
<books>
    <book id="101" genre="fiction">
        <title>PHP 시작하기</title>
        <author>장 산</author>
    </book>
    <book id="102" genre="programming">
        <title>심층적 인 이해 PHP</title>
        <author>Li Si</author>
    </book>
</books>

2. XML 파서를 만들고 처리 기능을 설정합니다.

PHP의 XML 파싱은 이벤트 기반 접근법을 사용합니다. 우리는 여러 핸들러를 정의하고 파서에 바인딩해야합니다.

 <?php

$parser = xml_parser_create();

function startElement($parser, $name, $attrs) {
    echo "시작 요소: $name\n";
    if (!empty($attrs)) {
        echo "재산:\n";
        foreach ($attrs as $key => $value) {
            echo " - $key = $value\n";
        }
    }
}

function endElement($parser, $name) {
    echo "결말 요소: $name\n";
}

function characterData($parser, $data) {
    $data = trim($data);
    if (!empty($data)) {
        echo "콘텐츠: $data\n";
    }
}

// 바인딩 처리 기능
xml_set_element_handler($parser, "startElement", "endElement");
xml_set_character_data_handler($parser, "characterData");

3. XML 컨텐츠를 읽고 구문 분석하십시오

이제 example.xml 파일을 읽고 파서를 사용하여 구문 분석합니다.

 $fp = fopen("example.xml", "r");
if (!$fp) {
    die("파일을 열 수 없습니다");
}

while ($data = fread($fp, 4096)) {
    if (!xml_parse($parser, $data, feof($fp))) {
        die(sprintf(
            "XML 실수: %s 에서 %d 좋아요",
            xml_error_string(xml_get_error_code($parser)),
            xml_get_current_line_number($parser)
        ));
    }
}

xml_parser_free($parser);
fclose($fp);
?>

스크립트를 실행 한 후 터미널은 각 요소의 시작과 끝, 속성 및 값을 차례로 출력합니다. 예를 들어:

 시작 요소: BOOKS
시작 요소: BOOK
재산:
 - ID = 101
 - GENRE = fiction
시작 요소: TITLE
콘텐츠: PHP 시작하기
결말 요소: TITLE
시작 요소: AUTHOR
콘텐츠: 장 산
결말 요소: AUTHOR
결말 요소: BOOK
...

4. 실제 응용 프로그램에 사용하십시오

프로세서 기능과 결합 된 XML_PARSE () 함수를 통해 데이터를 추출하는 방법을 자유롭게 제어하고 구문 분석 결과를 데이터베이스에 저장하거나 해당 HTML 페이지를 생성 할 수도 있습니다.

 echo "<a href='https://m66.net/book.php?id=101'>확인하다《PHP 시작하기》</a>";

이 방법은 데이터 읽기 프로세스를 사용자 정의하는 데 매우 실용적입니다.

5. 요약

XML_PARSE ()는 XML 데이터를 구문 분석하는 가볍고 빠른 방법을 제공합니다. DOM 파서보다 더 근본적이지만 성능 요구 사항이 높거나 데이터 구조가 알려진 상황에 매우 적합한 선택입니다. 이벤트 중심 구문 분석을 마스터하면 XML 파일의 구조 및 데이터 처리 메커니즘을 더 깊이 이해하는 데 도움이됩니다.