채택완료

파싱질문 드려요~~

2023-02-23 (목) 17:38:43 2,734
Copy
<?php  

$roomNo = get_text($member['mb_id']);
$userNo = get_text($member['mb_nick']);


// 요청 데이터를 생성합니다.
$requestData = '<?xml version="1.0"?>
<REQUEST001>
  <YEAR>2022</YEAR>
  <ROOM_NO>' . $roomNo . '</ROOM_NO>
  <USER_NO>' . $userNo . '</USER_NO>
</REQUEST001>';

// API 서버 URL을 설정합니다.
$url = 'http://jdream.winsult.co.kr/xml/request.html';

// cURL 세션을 초기화합니다.
$ch = curl_init();

// cURL 옵션을 설정합니다.
curl_setopt($ch, CURLOPT_URL, $url); // 요청할 URL 설정
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // 결과 값을 반환받기 설정
curl_setopt($ch, CURLOPT_POST, true); // POST 요청 설정
curl_setopt($ch, CURLOPT_POSTFIELDS, $requestData); // 요청 데이터 설정
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: text/xml; charset=utf-8')); // Content-Type 설정

// cURL 실행 및 결과 값을 받습니다.
$result = curl_exec($ch);

// cURL 세션을 종료합니다.
curl_close($ch);

// 결과 값을 파싱하여 출력합니다.
$xml = simplexml_load_string($result);

// RESPONSE 항목을 각각 파싱하여 출력합니다.
echo 'RESULT_CODE: ' . $xml->RESPONSE001->RESULT_CODE . '<br>';
echo 'RESULT_MSG: ' . $xml->RESPONSE001->RESULT_MSG . '<br>';
echo 'REQ_SEQ: ' . $xml->RESPONSE001->REQ_SEQ . '<br>';
echo 'RES_SEQ: ' . $xml->RESPONSE001->RES_SEQ . '<br>';
echo 'RESULT_DATA: ' . $xml->RESPONSE001->RESULT_DATA . '<br>';

?>


위 내용은 Chat GPT에게 질문해서 얻은 내용인데, 전혀 파싱이 안되는데요..
RESPONSE 항목을 따로 분리해서 출력하면 아무것도 안나오고,  echo $result; 로 뿌리면 나옵니다.
도와주세요..
|

답변 3개 / 댓글 13개

채택된 답변
+20 포인트
2023-02-24 (금) 06:04:42

$xml = simplexml_load_string($result);

이전에

echo $result;

해서 나오는 내용을 올려 보세요.

브라우저 "소스 보기"로 확인 하셔야 합니다

답변에 대한 댓글 2개

2023-02-24 (금) 08:18:52
OK E000 정상처리 20230223182033 1 2022 910 2100122 24.0 24.0 7.0 5.0 5.0 2.0 3.0 0.0 19.0 19.0 4.0 5.0 입니다.
소스보기"로 하시면 xml 태그로 보일 겁니다.
2023-02-23 (목) 18:15:06

이거 토큰은 필요 없나요? 제공된거 보면 따로 토큰을 넣어야지 출력되는거 아닌가요?

답변에 대한 댓글 3개

2023-02-23 (목) 18:22:07
허용된 IP에서만 Request 가능해서 토큰은 정확히 모르겠네요
include 로 해서 _common.php 안해서 그런거 아닌가요??
2023-02-23 (목) 19:26:46
이미되어 있는 상태 이며, 파싱과는 상관이 없는듯 합니다.

해당주소가 xml 형식이 아닌거같은데요?

답변에 대한 댓글 8개

2023-02-23 (목) 17:55:19
주소는 xml 이 아닌데 접속 ip 를 확인해서 맞으면 xml 값을 전송받아요.
error_reporting( E_ALL );
ini_set( "display_errors", 1 );

상단에 코드넣으시고 에러 출력 확인해보세요.
2023-02-23 (목) 18:01:40
에러메세지는 안뜨는데요..
2023-02-23 (목) 18:02:29
RESULT_CODE:
RESULT_MSG:
REQ_SEQ:
RES_SEQ:
RESULT_DATA:
이런식의 내용만 출력 됩니다.
xml 데이터 반환되는값을 보여주실레요.
2023-02-23 (목) 18:04:42
xml 데이터 반환되는값 은 어디서 보는거죠?
$result 값을 보여주세요.
2023-02-23 (목) 18:21:12
OK E000 정상처리 20230223182033 1 2022 910 2100122 24.0 24.0 7.0 5.0 5.0 2.0 3.0 0.0 19.0 19.0 4.0 5.0

답변을 작성하려면 로그인이 필요합니다.