현재 위치: > 최신 기사 목록> 큰 XML 파일을 구문 분석 할 때 오류가 발생하면 어떻게해야합니까? xml_get_error_code로 오류를 빠르게 찾는 방법

큰 XML 파일을 구문 분석 할 때 오류가 발생하면 어떻게해야합니까? xml_get_error_code로 오류를 빠르게 찾는 방법

M66 2025-06-22

1. PHP의 XML 파싱

PHP에서 XML 파일을 구문 분석하는 것은 주로 XMLREADERXMLPARSER의 두 가지 방법에 따라 다릅니다. 여기서 우리는 주로 XMLPARSER를 기반으로 한 구문 분석 방법에 대해 논의하는데, 이는보다 일반적인 이벤트 기반 XML 구문 분석 방법에 적합합니다. XML_PARSE () 또는 XML_PARSE_INTO_STRUCT ()를 XML 파일에 구문 분석하는 경우 PHP는 해당 구문 분석 결과 또는 오류 메시지를 반환합니다. 파일에 오류가 있으면 사전에 구문 분석이 중단됩니다.

그러나 XML 파일이 구조가 매우 크거나 복잡한 경우 구문 분석 중에 문제가 발생하기 쉽습니다. 현재 개발자는 이러한 오류를 포착하기 위해 더 많은 도구를 사용해야합니다.


2. 오류 캡처 및 위치

구문 분석에 XML_PARSE () 함수를 사용하면 오류가 발생하면 PHP가 자동으로 XML_GET_ERROR_CODE () 를 호출하여 오류 코드를 가져옵니다. 이 함수는 오류 유형을 나타내는 정수를 반환합니다. 대상 디버깅을 수행하기 위해이 기능을 통해 오류의 특정 원인을 빠르게 이해할 수 있습니다.

 <?php
// 예:분석 XML 파일 및 오류 코드를 가져옵니다
$xml = '<?xml version="1.0" encoding="UTF-8"?><note><to>Tove</to><from>Jani</from><heading>Reminder</heading><body>Don't forget me this weekend!</body></note>';

$parser = xml_parser_create();

// 开始분석
if (!xml_parse($parser, $xml)) {
    // 오류 코드를 얻고 출력하십시오
    echo "Error code: " . xml_get_error_code($parser);
    // 오류 메시지를 가져오고 출력합니다
    echo "Error message: " . xml_error_string(xml_get_error_code($parser));
}

// 关闭분석器
xml_parser_free($parser);
?>

위의 코드 예제는 구문 분석이 실패 할 때 간단한 XML 문자열을 구문 분석하고 XML_GET_ERROR_CODE () 를 통해 오류 코드 및 오류 메시지를받는 방법을 보여줍니다.


3. 오류 코드 설명

xml_get_error_code () 에 의해 반환 된 오류 코드는 다른 구문 분석 오류를 나타냅니다. 일반적인 오류 코드는 다음과 같습니다.

  • XML_ERROR_NONE : 오류가 없습니다

  • XML_ERROR_NO_MEMORY : 메모리가 불충분합니다

  • xml_error_syntax : 구문 오류

  • XML_ERROR_INVALID_TOKEN : 유효하지 않은 토큰

  • XML_ERROR_UNCLOSED_TOKEN : 구분되지 않은 태그

  • XML_ERROR_TAG_MISMATCH : 태그 불일치

  • xml_error_duplication_attribute : 중복 속성

개발자는 반환 된 오류 코드와 해당 오류 정보를 기반으로 오류 위치를 빠르게 찾을 수 있습니다. 예를 들어, XML_ERROR_SYNTAX 오류가 발생하면 일반적으로 XML 형식이 잘못 되었기 때문에 엔드 태그가 없거나 레이블 구조가 사양을 준수하지 않기 때문일 수 있습니다.


4. 실제 예 : 오류를 신속하게 찾는 방법

불규칙한 태그 또는 속성이있는 큰 XML 파일이 있다고 가정합니다. 구문 분석 오류가 발생하면 다음 단계를 따라 찾아 수정할 수 있습니다.

  1. XML 파일 구조 <br>을 확인하십시오 XML 파일의 모든 태그가 올바르게 닫히고 철자 오류가 없는지 확인하십시오. XML 확인 도구 또는 M66.net 과 같은 온라인 XML 검증 서비스를 사용하여 XML 구조가 표준을 준수하는지 신속하게 확인하십시오.

  2. 오류 출력 <br>을 추가하십시오 구문 분석 중에 자세한 오류 정보는 다음과 같습니다.

     <?php
    if (!xml_parse($parser, $xml)) {
        echo "XML Error: " . xml_error_string(xml_get_error_code($parser)) . "\n";
        echo "At line " . xml_get_current_line_number($parser) . "\n";
    }
    

    이를 통해 개발자가 잘못된 위치를 찾는 데 도움이 될 수 있습니다.

  3. <br> 파일을 점차 분석하십시오 매우 큰 XML 파일의 경우 파일을 청크로 구문 분석하고 오류 범위를 점차 좁히고 오류 부분을 찾을 수 있습니다.


5. 요약

큰 XML 파일을 구문 분석 할 때 오류가 발생하는 것은 불가피합니다. php의 xml_get_error_code () 함수를 사용하여 구문 분석 중에 발생하는 오류를 신속하게 찾아서 진단 할 수 있습니다. 오류 코드 및 관련 오류 정보를 분석하여 개발자는 문제를보다 효율적으로 해결하고 XML 파일을 원활하게 구문 분석 할 수 있도록 할 수 있습니다. 또한 일부 외부 도구와 온라인 검증 서비스를 결합하면 파일에서 잠재적 형식 문제를보다 쉽게 ​​찾을 수 있습니다.

이 기사가 PHP의 오류 코드 메커니즘을 사용하여 큰 XML 파일을 구문 분석 할 때 문제를 신속하게 찾아서 해결하고 개발 효율성을 향상시키는 방법을 더 잘 이해하는 데 도움이되기를 바랍니다.