1. PHP SimpleXML이란?
SimpleXML은 PHP 5의 새로운 기능입니다.
SimpleXML 확장은 XML 요소의 이름과 텍스트를 가져오는 간단한 방법을 제공합니다.
DOM 또는 Expat 파서에 비해 SimpleXML은 단 몇 줄의 코드만으로 XML 요소에서 텍스트 데이터를 읽을 수 있습니다.
SimpleXML은 XML 문서(또는 XML 문자열)를 객체로 변환할 수 있습니다. 예를 들면 다음과 같습니다.
· 요소는 SimpleXMLElement 객체의 단일 속성으로 변환됩니다. 동일한 수준에 여러 요소가 있는 경우 해당 요소는 배열에 배치됩니다.
· 속성은 연관 배열을 사용하여 액세스됩니다. 여기서 색인은 속성 이름에 해당합니다.
· 요소 내부의 텍스트가 문자열로 변환됩니다. 요소에 여러 개의 텍스트 노드가 있는 경우 발견된 순서대로 정렬됩니다.
SimpleXML은 다음과 같은 기본 작업을 수행할 때 매우 빠르게 사용할 수 있습니다.
· XML 파일/문자열에서 데이터 읽기/추출
· 텍스트 노드 또는 속성 편집
그러나 네임스페이스와 같은 고급 XML을 처리할 때는 Expat 파서나 XML DOM을 사용하는 것이 더 좋습니다.
아래 예를 살펴보겠습니다.
다음 코드를 사용하여 XML 파일 head.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>
그런 다음 다음 코드를 사용하여 PHP 파일을 작성합니다.
<?php $xml=simplexml_load_file("head.xml"); print_r($xml); ?>
XML 파일의 각 요소의 데이터를 출력하는 방법
아직 위 xml 파일은 다음 php 파일을 봐주세요. 코드는 다음과 같습니다.
<?php $xml=simplexml_load_file("head.xml"); echo $xml->to . "<br>"; echo $xml->from . "<br>"; echo $xml->heading . "<br>"; echo $xml->body; ?>
각 하위 노드의 요소 이름과 데이터를 출력합니다
php 코드는 다음과 같습니다.
<?php $xml=simplexml_load_file("4_1.xml"); echo $xml->getName() . "<br>"; foreach($xml->children() as $child){ echo $child->getName() . ": " . $child . "<br>"; } ?>