PHP 튜토리얼

PHP 홈 PHP 소개 PHP 설치 PHP 구문 PHP 주석 PHP 변수 PHP 에코 / 인쇄 PHP 데이터 유형 PHP 문자열 PHP 숫자 PHP 수학 PHP 상수 PHP 연산자 PHP If...Else...Elseif PHP 스위치 PHP 루프 PHP 함수 PHP 배열 PHP 슈퍼글로벌 PHP 정규식

PHP 양식

PHP 양식 처리 PHP 양식 유효성 검사 PHP 양식 필요 PHP 양식 URL/이메일 PHP 양식 완성

PHP 고급

PHP 날짜 및 시간 PHP 포함 PHP 파일 처리 PHP 파일 열기/읽기 PHP 파일 생성/쓰기 PHP 파일 업로드 PHP 쿠키 PHP 세션 PHP 필터 PHP 필터 고급 PHP 콜백 함수 PHP JSON PHP 예외

PHP OOP

PHP OOP란? PHP 클래스/객체 PHP 생성자 PHP 소멸자 PHP 액세스 수정자 PHP 상속 PHP 상수 PHP 추상 클래스 PHP 인터페이스 PHP 특성 PHP 정적 메서드 PHP 정적 속성 PHP 네임스페이스 PHP 반복 가능

MySQL 데이터베이스

MySQL 데이터베이스 MySQL 연결 MySQL 생성 DB MySQL 테이블 생성 MySQL 삽입 데이터 MySQL 마지막 ID 가져오기 MySQL은 다중 삽입 MySQL 준비 MySQL 선택 데이터 MySQL 어디 MySQL 주문 기준 MySQL 데이터 삭제 MySQL 업데이트 데이터 MySQL 제한 데이터

PHP XML

PHP XML 파서 PHP SimpleXML 파서 PHP SimpleXML - 가져오기 PHP XML 국외 거주자 PHP XML DOM

PHP - AJAX

AJAX 소개 AJAX PHP AJAX 데이터베이스 AJAX XML AJAX 라이브 검색 AJAX 투표

PHP 예제

PHP 예제 PHP 컴파일러 PHP 퀴즈 PHP 연습 PHP 인증서

PHP 참조

PHP 개요 PHP 배열 PHP 캘린더 PHP 날짜 PHP 디렉토리 PHP 오류 PHP 예외 PHP 파일 시스템 PHP 필터 PHP FTP PHP JSON PHP 키워드 PHP 라이브러리 XML PHP 메일 PHP 수학 PHP 기타 PHP MySQLi PHP 네트워크 PHP 출력 제어 PHP 정규식 PHP SimpleXML PHP 스트림 PHP 문자열 PHP 변수 처리 PHP XML 파서 PHP 우편번호 PHP 시간대

PHP XML Expat 파서


내장된 XML Expat Parser를 사용하면 PHP에서 XML 문서를 처리할 수 있습니다.


XML Expat 파서

Expat 파서는 이벤트 기반 파서입니다.

다음 XML 분수를 보십시오.

<from>Jani</from>

이벤트 기반 파서는 위의 XML을 일련의 세 가지 이벤트로 보고합니다.

  • 시작 요소: 부터
  • 시작 CDATA 섹션, 값: Jani
  • 닫기 요소: 부터

XML Expat 파서 기능은 PHP 코어의 일부입니다. 이러한 기능을 사용하기 위해 설치가 필요하지 않습니다.


XML 파일

XML 파일 "note.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>


XML Expat 구문 분석기 초기화

PHP에서 XML Expat Parser를 초기화하고 다양한 XML 이벤트에 대한 일부 핸들러를 정의한 다음 XML 파일을 구문 분석하려고 합니다.

예시

<?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("note.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);
?>

설명된 예:

  1. xml_parser_create()함수 를 사용하여 XML 파서를 초기화합니다.
  2. 다양한 이벤트 핸들러와 함께 사용할 함수 생성
  3. xml_set_element_handler()구문 분석기가 여는 태그와 닫는 태그를 만날 때 실행할 함수를 지정하는 함수를 추가합니다.
  4. xml_set_character_data_handler()파서가 문자 데이터를 만났을 때 실행할 함수를 지정하는 함수 추가
  5. xml_parse()함수 를 사용하여 "note.xml" 파일을 구문 분석합니다.
  6. xml_error_string()오류가 발생한 경우 XML 오류를 텍스트 설명으로 변환하는 기능 추가
  7. 함수를 호출하여 함수 xml_parser_free()에 할당된 메모리를 해제합니다.xml_parser_create()

더 많은 PHP XML Expat 파서

PHP Expat 함수에 대한 자세한 내용은 PHP XML Parser Reference 를 참조 하십시오.