XML DOM
XML 파싱
XML 문서를 읽고 업데이트(생성 및 처리)하려면 XML 파서가 필요합니다.
XML 파서에는 두 가지 기본 유형이 있습니다.
· 트리 기반 파서: 이 파서는 XML 문서를 트리 구조로 변환합니다. 전체 문서를 분석하고 DOM(문서 개체 모델)과 같은 트리의 요소에 대한 액세스를 제공합니다.
· 시간 기반 파서: XML 문서를 일련의 이벤트로 처리합니다. 특정 이벤트가 발생하면 파서는 이를 처리하는 함수를 호출합니다.
DOM 파서는 트리 기반 파서입니다.
다음 XML 문서 부분을 참조하세요.
XML DOM 위의 XML을 트리 구조로 처리합니다:
· 레벨 1: XML 문서
· 레벨 2: 루트 요소:
· 레벨 3: 텍스트 요소: "Jani"
설치
DOM XML 파서 함수는 PHP 핵심의 일부입니다. 이 기능을 사용하기 위해 설치가 필요하지 않습니다.
XML 파일
이 예에서는 다음 XML 파일이 사용됩니다:
Tove Jani Reminder Don't forget me this weekend!
XML 로드 및 출력
XML 파서를 초기화하고 XML을 로드한 후 출력해야 합니다.
Instance
load("note.xml"); print $xmlDoc->saveXML(); ?>
위 코드는 출력 :
ToveJaniReminder 이번 주말에 저를 잊지 마세요!
브라우저 창에서 소스 코드를 보면 다음 HTML을 볼 수 있습니다:
Tove Jani Reminder Don't forget me this weekend!
예 위의 DOMDocument-Object를 생성하고 "note.xml"의 XML을 이 문서 개체에 로드합니다.
saveXML() 함수는 내부 XML 문서를 문자열로 변환하여 출력할 수 있도록 합니다.
XML 순회
XML 파서를 초기화하고 XML을 로드하고 반복하려고 합니다. <참고> ; 요소의 모든 요소:
인스턴스
load("note.xml"); $x = $xmlDoc->documentElement; foreach ($x->childNodes AS $item) { print $item->nodeName . " = " . $item->nodeValue . "
"; } ?>
위 코드는 다음을 출력합니다:
#text =
to = Tove
# text =
from = Jani
#text =
header = 알림
#text =
body = 이번 주말에 저를 잊지 마세요!
#text =
위의 예에서는 각 요소 사이에 빈 텍스트 노드가 있는 것을 볼 수 있습니다.
XML이 생성되면 일반적으로 노드 사이에 공백이 포함됩니다. XML DOM 파서는 이를 일반 요소로 취급하므로 주의를 기울이지 않으면 문제가 발생할 수 있습니다.