>  기사  >  백엔드 개발  >  PHP XML DOM 관련 지식 포인트

PHP XML DOM 관련 지식 포인트

jacklove
jacklove원래의
2018-05-07 14:44:251396검색

내장된 DOM 파서를 사용하면 PHP에서 XML 문서를 처리할 수 있으며 이에 대해서는 이 문서에서 설명합니다.

DOM이란 무엇인가요?

W3C DOM은 HTML 및 XML 문서에 대한 표준 객체 세트와 이러한 문서에 액세스하고 조작하기 위한 표준 인터페이스를 제공합니다.

W3C DOM은 다양한 부분(Core, XML 및 HTML)과 다양한 레벨(DOM 레벨 1/2/3)로 나뉩니다.

* Core DOM - 모든 구조화된 문서의 표준을 정의하는 표준 객체 세트
* XML DOM - XML ​​문서에 대한 표준 개체 집합을 정의합니다.
* HTML DOM - HTML 문서에 대한 표준 개체 집합을 정의합니다.

XML DOM에 대해 자세히 알아보려면 XML DOM 튜토리얼을 방문하세요.

XML 구문 분석

XML 문서를 읽고 업데이트(생성 및 처리)하려면 XML 파서가 필요합니다.

XML 파서에는 두 가지 기본 유형이 있습니다.

트리 기반 파서: 이 파서는 XML 문서를 트리 구조로 변환합니다. 전체 문서를 분석하고 DOM(문서 개체 모델)과 같은 트리의 요소에 대한 액세스를 제공합니다.

시간 기반 파서: XML 문서를 일련의 이벤트로 처리합니다. 특정 이벤트가 발생하면 파서는 이를 처리하기 위해 함수를 호출합니다.

DOM 파서는 트리 기반 파서입니다.

다음 XML 문서 조각을 살펴보세요.

<?xml version="1.0" encoding="ISO-8859-1"?>
<from>Jani</from>

XML DOM 위의 XML을 트리 구조로 고려하세요.

레벨 1: XML 문서

레벨 2: 루트 요소: 66fd2ada9ebb04d4250c850dc1e3737e

레벨 3: 텍스트 요소: "Jani"

Installation

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

XML 파일

다음 XML 파일이 예제에서 사용됩니다:

<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don&#39;t forget me this weekend!</body>
</note>


XML 로드 및 출력

XML 파서를 초기화하고 XML을 로드한 후 출력해야 합니다.

Example

<?php
$xmlDoc = new DOMDocument();
$xmlDoc->load("note.xml");
print $xmlDoc->saveXML();
?>

위 코드는 다음을 출력합니다.

ToveJaniReminder 이번 주말에 저를 잊지 마세요!

브라우저 창에서 소스 코드를 보면 다음 HTML을 볼 수 있습니다.

<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don&#39;t forget me this weekend!</body>
</note>

위 예제에서는 DOMDocument-Object를 생성합니다. 그리고 "note.xml"의 XML을 이 문서 개체에 로드합니다.

saveXML() 함수는 내부 XML 문서를 string에 넣어 출력할 수 있습니다.

Traverse XML

XML 파서를 초기화하고, XML을 로드하고, 8197c7d9a62aa70b2f07974ee724bef2 요소의 모든 요소를 ​​반복하려고 합니다.

Instance

<?php
$xmlDoc = new DOMDocument();
$xmlDoc->load("note.xml");
$x = $xmlDoc->documentElement;
foreach ($x->childNodes AS $item)
{
print $item->nodeName . " = " . $item->nodeValue . "<br>";
}
?>

위 코드는 다음을 출력합니다.

#text =
to = Tove
#text =
from = Jani
#text =
heading = Reminder
#text =
body = 이번 주말에 저를 잊지 마세요!
#text =

위의 예에서 각 요소 텍스트 노드 사이의 공간.

XML이 생성되면 일반적으로 노드 사이에 공백이 포함됩니다. XML DOM 파서는 이를 일반 요소로 취급하므로 주의를 기울이지 않으면 문제가 발생할 수 있습니다.

이 문서에서는 DOM 파서 PHP에서 XML 문서를 처리하는 방법을 자세히 설명합니다. 더 많은 학습 자료를 보려면 PHP 중국어 웹사이트를 참고하세요.

관련 권장 사항:

PHP XML Expat 파서의 기본 정보

PHP 데이터베이스 ODBC 관련 콘텐츠 정보

PHP MySQL 삭제 문 관련 지식

위 내용은 PHP XML DOM 관련 지식 포인트의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.