PHP SimpleXML
SimpleXML은 가장 일반적인 XML 작업을 처리하며, 나머지 작업은 다른 확장으로 맡깁니다.
SimpleXML이 무엇인가요?
SimpleXML은 PHP 5의 새로운 기능입니다. XML 문서 레이아웃을 이해하고 있다면, 요소 속성과 텍스트를 얻는 데 편리한 방법입니다.
DOM이나 Expat 파서와 비교하여 SimpleXML은 단순히 요소에서 텍스트 데이터를 읽기 위해 몇 행의 코드만 사용합니다.
SimpleXML은 XML 문서를 객체로 변환할 수 있습니다. 예를 들어:
- 요소 - 단일 속성이 SimpleXMLElement 객체로 변환됩니다. 동일한 수준에 여러 요소가 존재할 때, 그들은 배열에 배치됩니다.
- 속성 - 연관 배열을 사용하여 접근합니다. 인덱스는 속성 이름과 일치합니다.
- 요소 데이터 - 요소의 텍스트 데이터는 문자열로 변환됩니다. 요소가 여러 텍스트 노드를 가지고 있다면, 발견된 순서대로 배열됩니다.
아래와 같은 기본 작업을 수행할 때, SimpleXML은 매우 빠르게 사용됩니다:
- XML 파일 읽기
- XML 문자열에서 데이터 추출
- 텍스트 노드나 속성 편집
그러나 고급 XML 처리를 위해 예를 들어 이름 공간을 처리할 때는 Expat 파서나 XML DOM을 사용하는 것이 좋습니다.
설치
PHP 5.0부터 SimpleXML 함수는 PHP의 핵심 구성 요소입니다. 설치 없이 사용할 수 있습니다.
SimpleXML 사용
아래는 XML 파일입니다:
<?xml version="1.0" encoding="ISO-8859-1"?> <note> <to>George</to> <from>John</from> <heading>상기</heading> <body>회의를 잊지 마세요!</body> </note>
위의 XML 파일에서 요소 이름과 데이터를 출력할 계획입니다.
이 작업을 수행해야 합니다:
- XML 파일을 로드합니다
- 첫 번째 요소의 이름을 가져옵니다
- children() 함수를 사용하여 각 서브 노드에서 트리거되는 루프를 생성합니다
- 모든 서브 노드의 요소 이름과 데이터를 출력합니다
예제
<?php $xml = simplexml_load_file("test.xml"); echo $xml->getName() . "<br />"; foreach($xml->children() as $child) { echo $child->getName() . ": " . $child . "<br />"; } ?>
위 코드의 출력:
note to: George from: John heading: 상기 body: 회의를 잊지 마세요!
PHP SimpleXML에 대한 더 많은 정보
PHP SimpleXML에 대한 더 많은 정보를 필요로 하시면, 우리의 PHP SimpleXML 참조 설명서.