PHPを初めて使用しています。ebayサンドボックスに画像をアップロードするためにphpサンプルを使用しています。PHPを実行すると、次のエラーが発生します。ファイル:
PHP Warning: simplexml_load_string(): Entity: line 1: parser error : Start tag expected, '<' not found in /home/nish/stuff/market place/test/php5/UploadImage/UploadSiteHostedPictures.php on line 69
PHP Warning: simplexml_load_string(): HTTP/1.1 200 OK in /home/nish/stuff/market place/test/php5/UploadImage/UploadSiteHostedPictures.php on line 69
PHP Warning: simplexml_load_string(): ^ in /home/nish/stuff/market place/test/php5/UploadImage/UploadSiteHostedPictures.php on line 69
PHP Notice: Trying to get property of non-object in /home/nish/stuff/market place/test/php5/UploadImage/UploadSiteHostedPictures.php on line 92
PHP Notice: Trying to get property of non-object in /home/nish/stuff/market place/test/php5/UploadImage/UploadSiteHostedPictures.php on line 93
PHP Notice: Trying to get property of non-object in /home/nish/stuff/market place/test/php5/UploadImage/UploadSiteHostedPictures.php on line 93
PHP Notice: Trying to get property of non-object in /home/nish/stuff/market place/test/php5/UploadImage/UploadSiteHostedPictures.php on line 94
PHP Notice: Trying to get property of non-object in /home/nish/stuff/market place/test/php5/UploadImage/UploadSiteHostedPictures.php on line 94
関連する行は次のとおりです。
69. $respXmlObj = simplexml_load_string($respXmlStr); // create SimpleXML object from string for easier parsing
// need SimpleXML library loaded for this
92. $ack = $respXmlObj->Ack;
93. $picNameOut = $respXmlObj->SiteHostedPictureDetails->PictureName;
94. $picURL = $respXmlObj->SiteHostedPictureDetails->FullURL;
私が理解できることは、respXMLObjが正しく設定されていないことです。 simleXMLサポートが有効になっていることを確認しました。
誰かがこれをデバッグするのを手伝ってくれませんか?ありがとう
参照するコードには次の行があります。
//curl_setopt($connection, CURLOPT_HEADER, 1 ); // Uncomment these for debugging
これらのコメントを外したようです。これにより、応答でHTTPヘッダーが取得されます。デバッグには問題ありませんが、simplexml_load_string
でXML解析エラーが発生します。
再度コメント化するか、値として0
を入力します。
私の場合。私は、XMLファイルの先頭にある非表示の文字The BOMを削除を削除しました。それを行う方法-テキストエディターによって異なります。
var_dump($respXmlStr);
を実行してください。私の推測では、この文字列は有効なXMLではありません。
Simplexml-load-stringのドキュメントに従って、最初のパラメータはA well-formed XML string
- http://php.net/manual/en/function.simplexml-load-string.php
$hasError = false;
if ( $resp == 'Internal Server Error' || empty($resp) )
{
$hasError = true;
}
if ( ! $hasError )
{
$aux = !empty($resp) ? explode('', $resp) : NULL;
$temp = utf8_decode(trim($aux[0]));
$xml = simplexml_load_string($temp);
}