J'utilise PHP pour la première fois. J'utilise l'exemple php pour télécharger l'image sur un sandbox ebay. Je reçois le message d'erreur suivant lors de l'exécution du fichier 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
Les lignes pertinentes sont:
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;
Ce que je peux comprendre, c'est que respXMLObj n'est pas configuré correctement. J'ai vérifié que le support simleXML est activé.
Quelqu'un pourrait-il m'aider s'il vous plaît à déboguer ceci. Merci
Le code auquel vous faites référence a cette ligne:
//curl_setopt($connection, CURLOPT_HEADER, 1 ); // Uncomment these for debugging
il semble que vous avez commenté ceux-ci. Cela entraînera l’en-tête HTTP dans votre réponse. Ce qui est correct pour le débogage, mais cela créera une erreur d'analyse XML dans simplexml_load_string
.
Faites un commentaire à nouveau ou mettez 0
comme valeur.
Dans mon cas. Je viens de supprimer le caractère invisible The BOM au début du fichier XML. Comment le faire - dépend de votre éditeur de texte.
Faire une var_dump($respXmlStr);
Je suppose que cette chaîne n'est pas un XML valide.
Selon la documentation de simplexml-load-string, le premier paramètre devrait être 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);
}