본문 바로가기

프로그램&DB/PHP

PHP XML DOM 관련 문서

PHP XML DOM

«이전 다음 장»

내장된 DOM 파서는 PHP에서 XML 문서를 처리하는 것이 가능합니다.


DOM이란 무엇입니까?

W3C DOM은 HTML과 XML 문서에 대한 객체의 표준 설정하고, 접근하고 그들을 조작하기위한 표준 인터페이스를 제공합니다. W3C DOM은 (DOM 레벨 2분의 1 다른 부분 (코어, XML 및 HTML)와 여러 수준으로 구분됩니다 / 3) : * 핵심 DOM - 다른 구조적 문서에 대한 객체의 표준 집합 정의 * XML DOM을 - XML 문서에 대한 객체의 표준 집합 정의 * HTML DOM을 - HTML 문서에 객체의 표준 집합을 정의하는 가 자세한 내용을 원한다면 XML DOM에 대한 우리의 방문하시기 바랍니다 XML DOM 자습서 .








XML 구문

만들고 조작 - - 읽고 업데이 트하는 방법은 XML 문서를, 당신은 XML 파서가 필요합니다.

XML 구문 분석기의 두 가지 기본 유형이 있습니다 :

  • 트리 기반의 파서 :이 파서가 트리 구조로 XML 문서를 변환합니다. 그것은 전체 문서를 분석하고, 나무 요소에 대한 액세스를 제공합니다
  • 이벤트 기반 파서는 일정의 연속으로 XML 문서를보기. 특정 이벤트가 발생하면 그것을 처리하는 함수를 호출

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

다음과 같은 XML 문서 분율을 봐 :

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

XML DOM은 트리 구조로 위의 XML을보고 :

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

설치

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

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

Tove Jani Reminder 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 객체과에 "note.xml"에서로드하는 XML을 생성합니다.

다음 saveXML () 함수는 문자열로 내부 XML 문서를 저장합니다, 그래서 우리는 그것을 출력할 수 있습니다.


XML을 통해 반복

우리는 <note> 요소의 모든 요소를​​ 통해 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 자습서 .




[출처] http://www.w3schools.com

'프로그램&DB > PHP' 카테고리의 다른 글

PHP의 배열 함수 모음  (0) 2011.09.01
PHP SimpleXML  (0) 2011.09.01
PHP XML Expat Parser 파서  (0) 2011.09.01
PHP Database ODBC : 데이터베이스 ODBC  (0) 2011.09.01
PHP MySQL Delete문  (0) 2011.09.01