0

これは質問するには多すぎるかもしれませんが、xml 解析について読んでいますが、理解できません! プログラミングを完了するまで、クライアントが PHP 4 を使用していることに気付きませんでした (よく学んだ教訓です) が、php4 で動作させるにはこれが必要です。

$post_string= 'type=xml&cid=55505&minorRev=14&apiKey=4sr8d8bsn75tpcuja6ypx5g3&locale='.$userLocale.'&currencyCode='.$userCurr.'&customerIpAddress='.$userIp.'&customerUserAgent='.$userAgent.'&xml=<HotelListRequest><destinationId>7EEF0188-E4DC-4B45-B4A7-57E3DF950E1F</destinationId><supplierCacheTolerance>MED_ENHANCED</supplierCacheTolerance><numberOfResults>200</numberOfResults></HotelListRequest>';
//Relative path to the file with $_POST parsing
$path = "http://api.ean.com/ean-services/rs/hotel/v3/list"; 
$ch = curl_init($path); 
$fp = fopen('xml/data.xml','w');
//Send the data to the file
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_string); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept: application/xml')); 
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_FILE, $fp);
$val = curl_exec($ch);
curl_close($ch);//Close curl session
fclose($fp); //Close file overwrite
$data = simplexml_load_file('xml/data.xml');

私はただ困惑しています。私は、この形式を使用して xml ドキュメントを読み取ったことがあります。誰でもこれをphp4で動作するように変換できますか?? 繰り返しますが、これは多くのことを尋ねていることを知っていますが、どんな助けでも大歓迎です。前もって感謝します。

4

1 に答える 1

2

PHP 4は、2008年8月8日以降、まったくサポートされていないことをクライアントに通知する必要があります。

そうは言っても、すでにあなたの問題に取り組んでいるこの質問を読んでください。

(参照された回答から)

$xml = ...; // Get your XML data
$xml_parser = xml_parser_create();

// _start_element and _end_element are two functions that determine what
// to do when opening and closing tags are found
xml_set_element_handler($xml_parser, "_start_element", "_end_element");

// How to handle each char (stripping whitespace if needs be, etc
xml_set_character_data_handler($xml_parser, "_character_data");  

xml_parse($xml_parser, $xml);

クライアントが本当にサポートされていないPHPバージョンを使い続けたい場合(またはPHP 5に移行できない場合)、それはがコストを負担する必要があるものです。レガシーコードを維持するには、通常、より多くの努力が必要です。

于 2012-10-13T18:37:29.733 に答える