Notice
Recent Posts
Recent Comments
Tags
- javascript 유효성체크
- 바코드 스캔하기
- 404에러페이지
- ASP.Net Core 404
- 바코드 생성하기
- 말줄임표시
- XSS PHP
- asp.net core Select
- 강제이동
- javascript 바코드스캔
- 하드 윈도우 복사
- php 캐쉬제거
- ViewBag
- 파일업로드 유효성체크
- 타임피커
- jquery 바코드생성
- javascript redirection
- Mac Oracle
- TempData
- SSD 복사
- 맥 오라클설치
- XSS방어
- javascript 바코드 생성
- ViewData
- jquery 바코드
- django 엑셀불러오기
- 하드 마이그레이션
- asp.net Select
- 파일업로드 체크
- asp.net dropdownlist
웹개발자의 기지개
[php] xml 파싱 - simplexml_load_string 이용하기 (GET) 본문
PHP
[php] xml 파싱 - simplexml_load_string 이용하기 (GET)
http://portfolio.wonpaper.net 2020. 6. 14. 09:11외부 xml 주소를 읽어서 php 상으로 파싱하는 방법을 알아보자.
코로나 관련 외부로 공개중인 xml 소식지를 이용해 보았다.
[공공 데이터 포탈 https://www.data.go.kr] 참고해 보기 바란다.
[ 실제 xml 페이지 화면 ]
body 안에 items 안에 item 들이 기사 내용으로 주욱 살펴볼 수 있다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
<?
$ch = curl_init();
$url = 'http://apis.data.go.kr/1262000/SafetyNewsList/getCountrySafetyNewsList';
$queryParams = '?' . urlencode('ServiceKey') . '시디키값';
$queryParams .= '&' . urlencode('numOfRows') . '=' . urlencode('10');
$queryParams .= '&' . urlencode('pageNo') . '=' . urlencode('1');
/*
$queryParams .= '&' . urlencode('title1') . '=' . urlencode('입국');
$queryParams .= '&' . urlencode('title2') . '=' . urlencode('코로나');
$queryParams .= '&' . urlencode('title3') . '=' . urlencode('운항');
$queryParams .= '&' . urlencode('title4') . '=' . urlencode('항공권');
$queryParams .= '&' . urlencode('title5') . '=' . urlencode('격리');
*/
curl_setopt($ch, CURLOPT_URL, $url . $queryParams);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HEADER, FALSE);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
$response = curl_exec($ch);
curl_close($ch);
$xml = simplexml_load_string($response);
//echo $xml->body->items->item[0]->content;
for ($i=0;$i<sizeof($xml->body->items->item);$i++) {
$title = $xml->body->items->item[$i]->title;
$content = $xml->body->items->item[$i]->content;
$content = nl2br($content);
?>
<ul>
<li><strong><?=$title?></strong></li>
<li><?=$content?></li>
</ul>
<?
}
?>
|
cs |
여기서는 curl 을 이용하여 GET 방식으로 처리했다.
simplexml_load_string 를 이용하면 간단히 처리할 수 있다.
아주 직관적이라 이해하기 어렵진 않을것 같다.
[ 결과화면 ]
'PHP' 카테고리의 다른 글
[php] RSS, xml 파싱하기 1 (0) | 2020.07.03 |
---|---|
[php] json_decode 파싱하기 - 객체 or 배열로 (0) | 2020.06.21 |
[php] 이름명 *로 변경하기 (0) | 2020.06.05 |
[php] 이미지 리사이징 3 - 간단 예제 (0) | 2020.05.20 |
[php] 특정 배열요소 값을 순환식으로 교대로 얻기 (0) | 2020.05.15 |
Comments