私はHTTPポストを作るためにcURLの代わりにstream_context_create()を使用しています。それは動作しますが、file_get_contents()はXMLオブジェクトの代わりにすべてのデータの単一の文字列を返します。 XMLオブジェクトを返すようにコードを変更するにはどうしたらよいですか?個別に値にアクセスできますか?PHP stream_context_create()を使用してXMLを返します
<?php
$url = 'http://www.domain.com';
$data = array('name1' => 'data1', 'name2' => 'data2', 'name3' => 'data3');
$options = array(
'http' => array(
'header' => "Content-type: application/x-www-form-urlencoded\r\n",
'method' => 'POST',
'content' => http_build_query($data)
)
);
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
var_dump($result); // data1data2data3
?>
そしてXMLを返しますページ:
<?php
header('Content-type: text/xml');
$xml = '<result><name1>' . $_POST['data1'] . '</name1><name2>' . $_POST['data2'] . '</data2><name3>' . $_POST['data3'] . '</name3></result>';
echo $xml;
?>
(Chromeで、あなたは
view-source:
によってページのURLを付加することでそれを行うことができます)このコードを実行しようとすると、Webページのソースを確認してください? –@michail_wこんにちは、私は質問をXMLを返すコードで更新しました。 –
良いコード例。環境(OS、開発ツール)の情報を少し追加してください。あなたの質問を再現/解決するのに役立つかもしれません。 – ssimm