PHP SimpleXML 파서
SimpleXML은 XML 데이터를 쉽게 조작하고 가져올 수 있는 PHP 확장입니다.
SimpleXML 파서
SimpleXML은 트리 기반 파서입니다.
SimpleXML은 XML 문서의 구조나 레이아웃을 알고 있는 경우 요소의 이름, 속성 및 텍스트 내용을 쉽게 얻을 수 있는 방법을 제공합니다.
SimpleXML은 XML 문서를 배열 및 개체 모음처럼 반복할 수 있는 데이터 구조로 바꿉니다.
DOM 또는 Expat 파서에 비해 SimpleXML은 요소에서 텍스트 데이터를 읽는 데 더 적은 코드 줄을 사용합니다.
설치
PHP 5부터 SimpleXML 함수는 PHP 코어의 일부입니다. 이러한 기능을 사용하기 위해 설치가 필요하지 않습니다.
PHP SimpleXML - 문자열에서 읽기
PHP simplexml_load_string()
함수는 문자열에서 XML 데이터를 읽는 데 사용됩니다.
다음과 같이 XML 데이터를 포함하는 변수가 있다고 가정합니다.
$myXMLData =
"<?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>";
아래 예는 simplexml_load_string()
함수를 사용하여 문자열에서 XML 데이터를 읽는 방법을 보여줍니다.
예시
<?php
$myXMLData =
"<?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=simplexml_load_string($myXMLData) or die("Error: Cannot create object");
print_r($xml);
?>
위 코드의 출력은 다음과 같습니다.
SimpleXMLElement Object ( [to] => Tove [from] => Jani [heading] => Reminder [body] => Don't forget me this weekend! )
오류 처리 팁: libxml 기능을 사용하여 문서를 로드할 때 모든 XML 오류를 검색한 다음 오류를 반복합니다. 다음 예에서는 깨진 XML 문자열을 로드하려고 시도합니다.
예시
<?php
libxml_use_internal_errors(true);
$myXMLData =
"<?xml version='1.0' encoding='UTF-8'?>
<document>
<user>John Doe</wronguser>
<email>[email protected]</wrongemail>
</document>";
$xml = simplexml_load_string($myXMLData);
if ($xml === false) {
echo "Failed loading XML: ";
foreach(libxml_get_errors() as $error) {
echo "<br>", $error->message;
}
} else {
print_r($xml);
}
?>
위 코드의 출력은 다음과 같습니다.
Failed loading XML:
Opening and ending tag mismatch: user line 3 and wronguser
Opening and ending tag mismatch: email line 4 and wrongemail
PHP SimpleXML - 파일에서 읽기
PHP simplexml_load_file()
함수는 파일에서 XML 데이터를 읽는 데 사용됩니다.
다음과 같은 " note.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>
아래 예는 simplexml_load_file()
함수를 사용하여 파일에서 XML 데이터를 읽는 방법을 보여줍니다.
예시
<?php
$xml=simplexml_load_file("note.xml") or die("Error: Cannot create object");
print_r($xml);
?>
위 코드의 출력은 다음과 같습니다.
SimpleXMLElement Object ( [to] => Tove [from] => Jani [heading] => Reminder [body] => Don't forget me this weekend! )
팁: 다음 장에서는 SimpleXML을 사용하여 XML 파일에서 노드 값을 가져오거나 검색하는 방법을 보여줍니다!
더 많은 PHP SimpleXML
PHP SimpleXML 함수에 대한 자세한 내용은 PHP SimpleXML 참조 문서를 참조하십시오 .