2026, 새로운 도약을 시작합니다.

xml 파싱 질문입니다. 채택완료

Copy


echo $result; 하면 쭉~ 출력되는데,  필요데이터만 출력하려 하면, 아무것도 안 나옵니다.
어디가 잘못 됐는지????? 알려 주세요^^

답변 3개

채택된 답변
+20 포인트
Copy


$xml = simplexml_load_string($result);

$json = json_encode($xml);

$array = json_decode($json,TRUE);

 

foreach($array['RESULTS'] as $name => $value)

{

    echo $name. '=>' . $value ."
";

}

echo 'TOT_CNT => '. $array['TOT_CNT'] ."
";

 

foreach ($array['ACCOMMODATION_INFO'] as $key => $value) {

    if (is_array($value)) {

        foreach ($value as $sub_key => $sub_value) {

            echo "$key $sub_key => $sub_value
";

        }

    } else {

        echo "$key => $value
";

    }

}

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

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

textarea  내용이 그렇다면 저것이  어떤 형태로 치환되기를 원하시나요?

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

답변에 대한 댓글 2개

따로 따로 분리해서 뿌려만 주면 됩니다. 항목별로 어떤 수치 인지만 보여 주기만 하면 됩니다.^^
해결했습니다. 고맙습니다.

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

echo "<textarea>".$result."</textarea>";

하면 textarea 안에 어떤 게 출력되나요?

<textarea> 안의 내용을 봐야 파싱방법을 알 수 있습니다.

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

답변에 대한 댓글 1개

[code]
<?xml version="1.0" encoding="UTF-8"?>
<RESPONSE>
<RESULTS>
<RESULT>OK</RESULT>
<ERR_CD>E000</ERR_CD>
<ERR_MSG>정상처리</ERR_MSG>
<DATETIME>20230224151823</DATETIME>
</RESULTS>
<TOT_CNT>1</TOT_CNT>
<ACCOMMODATION_INFO>
<YEAR>2022</YEAR>
<ROOM_NO>801</ROOM_NO>
<USER_NO>2200039</USER_NO>
<OCCURRENCE>
<TOTALDAY>24.0</TOTALDAY>
<WEEKDAY>24.0</WEEKDAY>
<HOLYDAY>7.0</HOLYDAY>
<PEAKDAY>5.0</PEAKDAY>
</OCCURRENCE>
<USE>
<TOTALDAY>16.0</TOTALDAY>
<WEEKDAY>9.0</WEEKDAY>
<HOLYDAY>7.0</HOLYDAY>
<PEAKDAY>5.0</PEAKDAY>
</USE>
<REMAINING>
<TOTALDAY>8.0</TOTALDAY>
<WEEKDAY>8.0</WEEKDAY>
<HOLYDAY>0.0</HOLYDAY>
<PEAKDAY>0.0</PEAKDAY>
</REMAINING>
</ACCOMMODATION_INFO>
</RESPONSE>
[/code]

이렇게 나옵니다.

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

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

로그인
🐛 버그신고