일하다가 동료가 처리할 데이터가 있는데 이 데이터를 어떻게 관리했으면 좋겠냐고 물어보더라구요.
XML 로 관리할지 JSON으로 관리 할지.....
저희 시스템은 PHP로 돼 있거든요.
그래서 일단은 JSON이 가장 가벼우니까 데이터를 파일로 관리하면 JSON으로 관리하는 법도 생각해 볼 수 있겠지만 데이터도 많지 않고 바뀌지도 않을 거고 그냥 a 가 1인 경우의 b 값을 화면에 출력만 하면 되니까 디비에 넣어서 관리하는게 제일 편하지 않을까 의견을 주었습니다.
다른 시스템간에 데이터를 인터페이스 할 것도 아니고....
하여간 그래도 그 얘기 듣고 PHP로 XML과 JSON을 처리하려면 어떻게 해야 하는지 그 구체적인 소스가 궁금해서 써핑 해 봤습니다.
* PHP 로 XML 다루기
<?xml version="1.0" encoding="utf-8"?>
<data>
<total> 2 </total>
<item>
<name> Raj </name>
<phone> 123456789 </phone>
<age> 17 </age>
</item>
<item>
<name> Akshay </name>
<phone> 987654321 </phone>
<age> 15 </age>
</item>
</data>
이런 xml 데이터가 있을 때 php 코드는 아래와 같으면 됩니다.
<?php
$xml_string = file_get_contents($_SERVER['DOCUMENT_ROOT'].'/data.xml');
$xml = simplexml_load_string($xml_string);
echo $xml->total . "<p>"; //2
echo $xml->item[0]->name . "<p>"; // Raj
echo $xml->item[0]->phone . "<p>"; // 123456789
echo $xml->item[0]->age . "<p>"; // 17
echo $xml->item[1]->name . "<p>"; // Akshay
echo $xml->item[1]->phone . "<p>"; // 987654321
echo $xml->item[1]->age; // 15
?>
먼저 file_get_contents 로 data.xml 파일에 있는 모든 내용을 긁어 옵니다.
그러면 $xml_string 변수에 배열로 그 내용들이 담길 겁니다.
그 다음에는 복잡하게 코딩할 필요 없이 그냥 simplexml_load_string() 메소드를 사용하시면 됩니다.
그 안의 내용을 처리하는 방법은 $xml-> 다음에 원하는 내용이 있는 태그를 사용하면 됩니다.
total 은 한번만 있으니까 곧바로 얻어오고 그 다음 item 은 계속 반복되는 태그이니까 배열불러오듯이 불러오면 됩니다.
아래 샘플 파일 올려놓겠습니다.
* PHP 로 JSON 다루기
아래 코드도 어디에선가 긁어 온 건데요.
for(){
$str[] = array('code'=>$bbs_no,'table'=>$table_type);
}
----------------------
code[0] table[0]
code[1] table[1]
----------------------
이렇게 데이터들이 담길 겁니다.
$jsonStr = json_encode($str); // ******* Make Json from array ********
<input type="hidden" name="json_list" id="json_list" value=$jsonStr /> // Send Form
유저로부터 데이터를 입력받아서 이것을 json으로 encode 한 겁니다.
그러면 이 json 값을 한꺼번에 form 테그에서 send 할 수가 있습니다.
그 다음 받는 파일에서는 아래와 같이 처리하면 됩니다.
$json_list = $_REQUEST['json_list']; //get Form
$json_list = str_replace('\\', '', $json_list);
json_list= json_decode($json_list, true); // Decode json
echo $json_list[0]['code'];
echo $json_list[1]['table'];
간단하네요.
나중에 유용하게 사용될 수 있을 것 같습니다.
'etc. > PHP' 카테고리의 다른 글
PDF 내용을 Text 로 추출하는 PHP 프로그램 분석해 보기 7 (0) | 2013.01.16 |
---|---|
PDF 내용을 Text 로 추출하는 PHP 프로그램 분석해 보기 6 (0) | 2013.01.16 |
PDF 내용을 Text 로 추출하는 PHP 프로그램 분석해 보기 5 (0) | 2013.01.15 |
PDF 내용을 Text 로 추출하는 PHP 프로그램 분석해 보기 4 (0) | 2013.01.08 |
PDF 내용을 Text 로 추출하는 PHP 프로그램 분석해 보기 3 (0) | 2013.01.08 |
PDF 내용을 Text 로 추출하는 PHP 프로그램 분석해 보기 2 (0) | 2013.01.08 |
PDF 내용을 Text 로 추출하는 PHP 프로그램 분석해 보기 1 (0) | 2013.01.05 |
PHP와 XSL 로 XML 변환하기 (0) | 2012.12.21 |
-PHP - Proxy 통해 원격 파일 존재 여부 파악하기 (0) | 2012.07.19 |