Je lis un xml en php en utilisant simplexml_load_file
. Cependant, lors de la tentative de chargement du xml, il affiche une liste d'avertissements
Avertissement : simplexml_load_file() [function.simplexml-load-file]:
Je lis un xml en php en utilisant simplexml_load_file
. Cependant, lors de la tentative de chargement du xml, il affiche une liste d'avertissements
Avertissement : simplexml_load_file() [function.simplexml-load-file]:
Le XML est invalide.
CDATA devrait être enveloppé autour de tous les caractères spéciaux XML, comme le stipule W3C
Cela est en fait dû aux caractères qui perturbent les données. Utiliser htmlentities($votreTexte)
a fonctionné pour moi (j'avais du code html à l'intérieur du document xml). Voir https://www.php.net/htmlentities.
Cela résout mon problème:
$description = strip_tags($value['Description']);
$description=preg_replace('/&(?!#?[a-z0-9]+;)/', '&', $description);
$description= preg_replace("/(^[\r\n]*|[\r\n]+)[\s\t]*[\r\n]+/", "\n", $description);
$description=str_replace(' & ', ' & ', html_entity_decode((htmlspecialchars_decode($description))));
Si vous rencontrez ce problème avec Opencart, essayez de modifier
catalog/controller/extension/feed/google_sitemap.php Pour plus d'informations et comment le faire, consultez ceci: xmlparseentityref-no-name-error
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
0 votes
Le XML est invalide. Vous ne pourrez peut-être pas le charger du tout. Les erreurs peuvent être supprimées en ajoutant
@
devantsimplexml_load_file
ou en ajoutant un drapeau, consultez la page manuel desimplexml_load_file
pour plus d'informations et veuillez supprimer votre question, c'est un doublon.0 votes
Je vois que ma réponse attire beaucoup d'attention, si c'est effectivement la solution : pouvez-vous s'il vous plaît la signaler comme "réponse correcte" ? Merci.