2
curlを使用してXMLファイルをサーバーに送信します。すべてが完璧に動作しますが、レスポンスを最良の方法で処理する方法がわかりません。私はsimpleXMLでそれを解析したいと思います。この要求に:curl POSTレスポンスからXMLを解析する
$ch = curl_init();
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, Array("Content-Type: text/xml"));
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 40);
curl_setopt($ch, CURLOPT_POSTFIELDS, $XPost);
curl_setopt($ch, CURLOPT_POST, 1);
$data = curl_exec($ch);
if(curl_errno($ch))
print curl_error($ch);
else
print_r($data);
curl_close($ch);
私は、応答文字列(ブラウザのソース表示)としてこれを取得しています
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Expires: Sat, 6 May 1995 12:00:00 GMT
Cache-Control: no-store, no-cache, must-revalidate
Cache-Control: post-check=0, pre-check=0
Pragma: no-cache
Set-Cookie: JSESSIONID=5FD40C8D8F5EDC85E57AF39E877BE564; Path=/upp/; Secure; HttpOnly
Content-Type: text/xml;charset=UTF-8
Content-Length: 829
Date: Sun, 22 Apr 2012 08:59:10 GMT
<?xml version='1.0' encoding='UTF-8'?>
<authorizationService version='1'>
<body merchantId='635634545' status='accepted'>
<transaction refno='1234987' trxStatus='response'>
<request>
<amount>2000</amount>
<currency>USD</currency>
</request>
<response>
<responseCode>01</responseCode>
<responseMessage>Authorized</responseMessage>
</response>
</transaction>
どのように私は正しくsimpleXML.Iと$データを解析ん取り払う意味ヘッダー部分の?
これだけ簡単です!どうもありがとう。 – lunacafu