728x90
안녕하세요.
오늘은 php 로 'SimpleXML' 기능을 사용해서 xml 데이터를 불러오는 예제를 진행해보겠습니다.
SimpleXML은 문자 그대로 XML을 사용하기 위한 간단한 기능입니다. XML, 텍스트 등의 파일에서 데이터를 읽고, 'SimpleXMLElement' 클래스 인스턴스를 만듭니다. 그 후, 오브젝트에 있는 메소드 등을 사용해서 데이터를 처리하게 됩니다.
$변수 = simplexml_load_file(파일); //XML 파일로 객체생성
$변수 = simplexml_load_string(텍스트); //텍스트 값에서 객체생성
$변수 = new SimpleXMLElement(데이터, 옵션, 부울); // 함수 호출이 아닌 방식으로 객체 생성
함수가 아닌 new 를 통한 객체생성에서 첫번째 인수는 XML 데이터입니다. 텍스트나 URL 로 지정이 가능합니다.
옵션은 기본이 0 으로 옵션이 없음을 나타냅니다. 세번째 인수는 XML 데이터 파일 여부를 나타냅니다. 텍스트로 지정한다면 false, URL 로 지정을 한다면 ture 입니다. URL로 파일에서 데이터를 가져오는 경우에 false를 넣는다면 객체생성에 실패하게 됩니다.
먼저 데이터를 불러올 xml 파일을 작성합니다.
//textData.xml
<?xml version="1.0" encoding="UTF-8"?>
<datas>
<data>
<name>Safari</name>
<version>10</version>
<company>Apple</company>
</data>
<data>
<name>Chrome</name>
<version>20.5</version>
<company>Google</company>
</data>
<data>
<name>Firefox</name>
<version>30</version>
<price>Mozilla</price>
</data>
</datas>
이제 xml 파일을 가져와서 데이터를 출력해보겠습니다.
//test.php
<!DOCTYPE html>
<html>
<head>
<meta charset = "utf-8">
</head>
<body>
<div>
<span>Test XML!!!</span>
<table>
<tr><th>Name</th><th>Version</th><th>Company</th></tr>
<?php
$data = "";
$xml = simplexml_load_file('./testData.xml','SimpleXMLElement',LIBXML_NOCDATA);
$arr = $xml -> data;
foreach($arr as $row){
$data .= "<tr>";
$data .= "<td>" . $row->name . "</td>";
$data .= "<td>" . $row->version . "</td>";
$data .= "<td>" . $row->company . "</td>";
$data .= "</tr>";
}
?>
<?php echo $data; ?>
</table>
</div>
</body>
</html>
test.php를 브라우저로 열어보면 다음과 같이 데이터가 출력됩니다.
'PHP' 카테고리의 다른 글
[PHP] 동영상 업로드 하기 (0) | 2022.07.31 |
---|---|
[PHP] 날짜 입력으로 해당 월에 몇주차인지 구하기 (0) | 2022.07.15 |
[PHP]이미지 URI 주소로 이미지 다운로드 (0) | 2022.06.29 |
[PHP] Session 을 이용해서 로그인정보 가져오기 (0) | 2022.06.15 |
[PHP] 섬머노트(Summernote) 이미지, 영상 등록 (0) | 2022.05.26 |