Php 分析器错误:应为开始标记&x27<';找不到
我第一次使用PHP。我使用php示例在ebay沙盒上上传图像。我在运行PHP文件时遇到以下错误:Php 分析器错误:应为开始标记&x27<';找不到,php,xml,simplexml,Php,Xml,Simplexml,我第一次使用PHP。我使用php示例在ebay沙盒上上传图像。我在运行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(): 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
我能理解的是respXMLObj没有正确设置。我已检查是否启用了simleXML支持
有人能帮我调试一下吗。谢谢你做一个var\u转储($respXmlStr)代码>我猜这个字符串不是有效的XML
根据simplexml加载字符串文档,第一个参数应该是格式良好的XML字符串-您引用的代码有以下行:
//curl_setopt($connection, CURLOPT_HEADER, 1 ); // Uncomment these for debugging
看起来你没有注释这些。这将导致在响应中获取HTTP头。这对于调试来说是可以的,但是它会在simplexml\u load\u字符串中创建一个XML解析错误
要么重新注释它,要么把0
作为它的值。在我的例子中。我刚刚删除了XML文件开头的不可见字符BOM。如何操作-取决于您的文本编辑器。$respXmlStr
包含无效的XML。您可以显示您的XML吗?看起来无效,缺少“@mcuadros:I正在获取XML作为对http的响应request@nish,是的,但您正在将原始回复(包括HTTP头)放入XML解析器。不要使用套接字,而是使用HTTP客户端。其字符串以“HTTP/1.1 200 OK”开头“显然。虽然此代码可能是问题的答案,但如果您希望添加一些对代码的解释以及它如何回答原始问题,则会更加有用。
$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);
}
$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);
}