현재 위치: > 최신 기사 목록> xml_parser_set_option에서 xml_option_skip_white를 사용하여 빈 노드를 건너 뛰는 방법?

xml_parser_set_option에서 xml_option_skip_white를 사용하여 빈 노드를 건너 뛰는 방법?

M66 2025-06-21

PHP에서 XML_PARSER_SET_OPTION ()는 개발자가 XML 파서의 동작을 제어하기 위해 다른 옵션을 설정할 수있는 매우 유용한 기능입니다. 이 기능을 사용하면 많은 구문 분석 관련 설정을 조정할 수 있습니다. 일반적으로 사용되는 옵션 중 하나는 xml_option_skip_white 이며 XML 문서에서 빈 노드를 건너 뛰는 데 사용됩니다. 이 기사는이 옵션을 사용하는 방법과 실제 개발에 사용될 수있는 방법에 따라 다릅니다.

xml_option_skip_white 란 무엇입니까?

XML_OPTION_SKIP_WHITEXML_PARSER_SET_OPTION () 함수의 옵션으로, 파서가 공백 문자 (예 : 공백, 탭 및 신생) 노드를 건너 뛸지 여부를 제어하도록 설계되었습니다. 공백 문자는 일반적으로 XML 요소 또는 문서의 시작과 끝에 나타납니다. 이 문자는 데이터의 의미에 중요하지 않지만 프로그램의 처리 효율에 영향을 줄 수 있습니다.

XML_OPTION_SKIP_WHITE를 1 로 설정하면 파서는 모든 공백 문자 노드를 자동으로 건너 뛰고 유효한 노드로 처리하지 않으므로 특히 큰 문서를 처리 할 때 XML 구문 분석의 효율성을 향상시킵니다.

xml_option_skip_white를 사용하는 방법?

xml_option_skip_white 사용은 매우 간단하며이를 사용하는 일반적인 방법은 다음과 같습니다.

1. XML 파서를 초기화하십시오

먼저 XML Parser 리소스를 만들어야하며, 일반적으로 XML_PARSER_CREATE ()를 사용하여 구문 분석기를 초기화하는 데 사용됩니다.

 $parser = xml_parser_create();

2. 옵션 설정

그런 다음 XML_PARSER_SET_OPTION ()을 사용하여 구문 분석 옵션을 설정하십시오. 여기서 우리는 빈 노드를 건너 뛰기 위해 xml_option_skip_white를 1 로 설정합니다.

 xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, 1);

이 코드 라인은 구문 분석 중에 구문 분석기에 모든 공백 문자를 건너 뛰도록 지시합니다.

3. XML 데이터 구문 분석

설정을 마치면 XML 데이터를 구문 분석하기 시작할 수 있습니다. 다음과 같은 간단한 XML 문서가 있다고 가정합니다.

 <root>
    <element>Value 1</element>
    <element>Value 2</element>
    <!-- 빈 노드 및 댓글 -->
    <element>Value 3</element>
</root>

실제 구문 분석 과정에서 공백 문자 및 주석 노드가 건너 뜁니다. 유효한 요소 데이터 만 얻게됩니다. 완전한 구문 분석 코드는 다음과 같습니다.

 $xml_data = '<root>
                <element>Value 1</element>
                <element>Value 2</element>
                <!-- 빈 노드 및 댓글 -->
                <element>Value 3</element>
             </root>';

$parser = xml_parser_create();
xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, 1);

if (!xml_parse($parser, $xml_data)) {
    die(sprintf("XML Parse Error: %s at line %d", xml_error_string(xml_get_error_code($parser)), xml_get_current_line_number($parser)));
}

xml_parser_free($parser);

위의 코드에서 XML_PARSE () 전체 XML 문자열을 구문 분석하고 XML_OPTION_SKIP_WHITE 옵션을 설정하기 때문에 모든 빈 노드와 주석이 고려되지 않습니다.

4. 구문 분석 오류를 처리합니다

XML 파싱 중에 오류가 발생하면 XML_ERROR_STRING ()XML_GET_CURRENT_LINE_NUMBER () 를 통해 오류 정보를 얻을 수 있습니다. 위의 코드 예제는 구문 분석 오류를 잡고 처리하는 방법을 보여줍니다.

일반적인 사용 시나리오

XML_OPTION_SKIP_WHITE 옵션은 대형 XML 문서로 작업 할 때 특히 유용합니다. 특히 문서에 많은 공백 문자가 포함되어있을 때. 예를 들어, 외부 소스 (예 : 웹 페이지)에서 복잡한 XML 파일을로드하고 파일에 많은 빈 노드가 포함될 수 있습니다.이 옵션을 사용하면 구문 분석 효율을 크게 향상시키고 불필요한 계산을 줄일 수 있습니다.

또한 일부 웹 애플리케이션에서 XML 파일의 구조는 네트워크를 통해 생성 될 수 있으며 반드시 XML의 서식 요구 사항을 엄격히 준수하지는 않습니다. 현재 빈 노드를 건너 뛰면 공백 문자로 인한 일부 구문 분석 문제를 피할 수 있습니다.

요약

XML_PARSER_SET_OPTION () 함수에서 XML_OPTION_SKIP_WHITE를 사용하면 XML 파싱 중에 빈 노드를 쉽게 건너 뛸 수 있습니다. 이는 큰 XML 파일을 처리 할 때 구문 분석 효율을 향상시키고 불필요한 계산 부담을 줄이는 데 특히 도움이 될 수 있습니다. 이 옵션을 1 로 설정하면 구문 분석기가 모든 빈 노드를 자동으로 건너 뛰고 응용 프로그램이 XML 데이터를보다 효율적으로 처리 할 수 ​​있도록합니다.