1
PHP CURL을 사용하여 API 호출을 특정 URL로 만들고 있습니다. 브라우저에서 응답을받을 수 있습니다.API 호출에서받은 UTF-16 XML을 구문 분석하는 방법
CURL이 같은 변수에이 응답을 저장 :
$output = curl_exec($ch);
를 지금은 내 브라우저에서이 응답을 얻을
print_r(htmlspecialchars($output, true));
를 사용하는 경우.
<?xml version="1.0" encoding="utf-16" standalone="no"?>
<loginres>
<sessiontoken>123456</sessiontoken>
<timeout>7/30/2016 11:18:22 AM</timeout>
<status>1</status>
</loginres>
이것은 UTF-16으로 인코딩 된 응답이므로 SimpleXML 또는 DOM 문서를 사용할 수 없습니다. 이것을 시도해 볼 수 있습니다 (나는 여러 번 실패했습니다). 아무 것도 오지 않는다.
또한, 나는 배열 필터 기능을 사용하여 "폭발"로, 시도 및 응답은 다음과 같습니다
Array
(
[0] => version="1.0"
[2] => encoding="utf-16"
[3] => standalone="no"?>
[5] => 123456
[7] => 7/30/2016
[8] => 11:26:09
[9] => AM
[11] => 1
)
지금, 내 질문은,이 파일을 사용하여 어떻게 .... XML 태그에서 PHP 변수를 생성하고 구문 분석하여 데이터베이스에서 조작하고 저장하려고했습니다.
다른 옵션은 내 로컬 서버의 xml 파일에 응답을 저장하고 Jquery, Ajax를 사용하여 응답을 저장하는 것입니다. 그러나 어떻게 해야할지 모르겠습니다. 도와주세요.
내 질문의 목적은 PHP에서 API 반응에 의해 생성 된 UTF-16 XML을 사용하는 방법에 대한 도움을 요청하는 것이 었습니다. XML 태그에서 변수를 만들고 조작하고 싶었습니다. API 서버를 제어 할 수 없으므로 DOM 자체에서이를 변환하는 것은 어려울 것입니다. –
차이점은 없습니다. file_get_contents()를 사용하여 가져 와서 DOM에로드하십시오. 깨지지 않으면 DOM이로드합니다. – ThW