파싱질문 드려요~~ 채택완료

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개

채택된 답변
+20 포인트

$xml = simplexml_load_string($result);

이전에

echo $result;

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

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

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

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 태그로 보일 겁니다.

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

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

로그인 후 평가할 수 있습니다

답변에 대한 댓글 3개

허용된 IP에서만 Request 가능해서 토큰은 정확히 모르겠네요
include 로 해서 _common.php 안해서 그런거 아닌가요??
이미되어 있는 상태 이며, 파싱과는 상관이 없는듯 합니다.

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

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

로그인 후 평가할 수 있습니다

답변에 대한 댓글 8개

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

상단에 코드넣으시고 에러 출력 확인해보세요.
에러메세지는 안뜨는데요..
RESULT_CODE:
RESULT_MSG:
REQ_SEQ:
RES_SEQ:
RESULT_DATA:
이런식의 내용만 출력 됩니다.
xml 데이터 반환되는값을 보여주실레요.
xml 데이터 반환되는값 은 어디서 보는거죠?
$result 값을 보여주세요.
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

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

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

로그인
🐛 버그신고