0

以下に示すコードを使用して、サイトにAPI呼び出しを行っています。

 $xmlData = file_get_contents("http://isbndb.com/api/books.xml?access_key=XXXXXX&index1=isbn&value1=0596002068");

 echo $xmlData;

ただし、ブラウザに表示されたxmlDataはHTMLに自動解析されます。たとえば<title>、実際には本のタイトルである返されるXMLの要素は、本質的にページタイトルになるHTMLに変換され、他のXML要素はタグなしのプレーンテキストとして表示されます。XMLHttpRequestクライアント側のオブジェクトがサーバー側から生のXMLデータを取得するようにしたい。


なぜこれが発生し、XMLが自動解析されないようにするにはどうすればよいですか?

4

2 に答える 2

4

PHPはそれをテキストと見なします。たとえば、実行echo "<b>Bold</b>";すると、「自動的に」太字になります。HTMLを処理してレンダリングするのはブラウザです。

これがhtmlspecialchars目的です。

于 2012-08-27T15:44:52.983 に答える
1

これはphpとは何の関係もありません。ブラウザがHTMLとして解釈する要素を吐き出します(それがタイトルを設定する理由です)。HTMLページを正しく作成する<pre>か、コンテンツの周囲にタグを使用するか、または。必要に応じて、正しいcontent-typeヘッダー(表示やその他の目的でtext/plainxmlを表示するなど)を使用してコンテンツを送信し、データがhtmlとして解析されないようにします。text/xml

于 2012-08-27T15:43:34.940 に答える