최신 웹 개발 튜토리얼
 

PHP XML DOM 파서


내장 된 DOM 파서는 가능한 PHP의 XML 문서를 처리 할 수 ​​있습니다.


는 XML DOM 파서

DOM을 파서 나무 기반 파서입니다.

다음과 같은 XML 문서 일부 봐 :

<?xml version="1.0" encoding="UTF-8"?>
<from>Jani</from>

DOM은 트리 구조로 위의 XML을 본다 :

  • 레벨 1 : XML 문서
  • 레벨 2 : 루트 요소 : <from>
  • 레벨 3 : 텍스트 요소 : "Jani"

설치

DOM을 파서 함수는 PHP 코어의 일부입니다. 이러한 기능을 사용하는 데 필요한 어떤 설치가 없습니다.


XML 파일

아래의 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

우리는 XML 파서를 초기화 XML을로드하고 출력을하려면 :

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

print $xmlDoc->saveXML();
?>

코드의 출력은 위의 것입니다 :

Tove Jani Reminder Don't forget me this weekend!

당신이 선택하면 "View source" 브라우저 창에 다음과 같은 HTML을 볼 수 :

<?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>

예는 위의있는 DOMDocument 객체를 만들고로부터 XML로드 "note.xml" 그것으로.

그런 다음 saveXML() 함수는 문자열로 내부 XML 문서를두고, 그래서 우리는 출력 할 수 있습니다.


XML을 통해 반복

우리는의 모든 요소를 통해 XML, 및 루프를로드, XML 파서를 초기화 할 <note> 요소 :

<?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 자습서를 .