2012-03-03 19 views
1

モバイルアプリケーションのAPIを作成しようとしています。 XMLでデータを返したいと思います。私は、Wolfram Alpha用に構築されたPHPライブラリを使用してデータを照会しており、APIをモバイルアプリケーションとWolfram Alphaの間でやり取りしたいと考えています。私はウルフラムアルファPHPライブラリを使用した後、XML文書を印刷しようとするたびに、私は述べてChromeからのエラーが表示されます。同じ実行で2回呼び出されるとSimpleXMLが失敗する

error on line 7 at column 6: XML declaration allowed only at the start of the document 

を私はIEで何を取得し、Firefoxで私が取得:

XML Parsing Error: XML or text declaration not at start of entity 
Location: http://myfitnessplate.com/api/food-search/name/thisissomethingnotfood/key/HWGCF-YASLT-HOSEC-OZWJH-HETKJ 
Line Number 7, Column 1: 
<?xml version="1.0"?> 
^ 

他のデータはありません。私はウルフラムアルファPHPライブラリ(WolframAlphaEngine.php)で主に使用されるファイルを開いて、私がライブラリを使用するたびに、私はXMLのエラーを取得する次のコード

$xml = simplexml_load_file($url); 

にウルフラムアルファを照会するのSimpleXMLを使っていることに気づきました。ライブラリを使用しないと、XMLはうまく出力されます。 「simplexml_load_file」によってXMLが何らかの理由で破損する可能性はありますか?私は強く出力の7行はあなたがエコーどこかの前にあることに疑い

$xml = new SimpleXMLElement('<xml/>'); 
header("Content-Type:text/xml"); 
echo $xml->asXML(); 
+0

「行7列6」とは何ですか?より多くのコードコンテキストを与えることができますか? –

+0

私はXMLを見ることができないので、わかりません。それは、最初のエラーまでのXMLのレンダリングですが、そこには何もありません。それは単なる白い画面です。私があなたに与えることができる他のものはありますか? – tubaguy50035

+0

あなたが言っていることから、このエラーはxmlを表示するために使用している*ブラウザ*からのものですか?あなたのスクリプトの生の出力は何ですか? –

答えて

1

:simplexml_load_fileを使用するライブラリを使用している場合は動作しません

私のコードは、(これはライブラリを使用していない作業を行います)あなたのXMLを出してください。この出力を静かにする必要があります。これは、XMLが無効になってブラウザが狂ってしまうためです。

おそらく、付属のライブラリからのエラーメッセージです。おそらく、あなたのPHPファイルに空白または空白があります。知る唯一の方法は、ブラウザが解析を開始する前に生の出力を見ることです。

+0

XMLヘッダーを設定する前に死ぬと、XMLを印刷する直前に、ページソースは7行の空白スペースになります。これが原因でしょうか? – tubaguy50035

+0

すべての7つのファイルに閉じるphpタグのあとに空白行があります。ありがとう! – tubaguy50035

関連する問題