PHP XML DOM

내장 PHP DOM 파서 것은 가능한 XML 문서를 처리 할 수있다.


DOM은 무엇입니까?

W3C DOM은 HTML과 XML 문서 객체의 표준 세트뿐만 아니라이 문서에 액세스하고 조작하기위한 표준 인터페이스를 제공합니다.

W3C DOM은 다른 부분 (코어, XML 및 HTML) 및 다른 수준 (DOM 레벨 1/2/3)로 분리된다 :

* 핵심 DOM - 모든 구조화 된 문서 객체의 표준 세트를 정의
* DOM은 XML - 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 : 루트 요소 : <에서>
  • 레벨 3 : 텍스트 요소 "야니"

설치

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't forget me this weekend!</body>
</note>


로드 및 출력 XML

우리는 XML을로드하는 XML 파서를 초기화해야하고, 그것을 출력한다 :

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

print $xmlDoc->saveXML();
?>

가 출력 위의 코드 :

ToveJaniReminder Don't forget me this weekend!

브라우저 창에 소스 코드를 볼 경우 다음과 같은 HTML을 볼 수 있습니다 :

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

이 예는 위의 DOMDocument를-개체와 XML 객체의 문서 넣기 "note.xml"를 만듭니다.

문자열로 내부 XML 문서의 saveXML () 함수, 그래서 우리는 그것을 내보낼 수 있습니다.


이송 XML

우리는 XML을로드하고, 모든 요소 <참고> 요소를 통과 할 XML 파서를 초기화 할 :

<?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 = Don't forget me this weekend!
#text =

위의 예에서는, 텍스트 노드의 각 요소 사이의 공기의 존재를 참조.

XML이 생성되면, 그것은 일반적으로 노드들 사이의 공백을 포함 할 것이다. 당신이 그들에주의를 지불하는 경우 XML의 DOM 파서 그들에게 같은 공통 요소는, 때때로 문제를 일으킬.


는 XML DOM의 지식에 대한 자세한 내용은, 우리의 방문 XML의 DOM 자습서를 .