101 votes

Avertissements 'xmlParseEntityRef: no name' lors du chargement d'un fichier xml dans un fichier php

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]:

0 votes

Le XML est invalide. Vous ne pourrez peut-être pas le charger du tout. Les erreurs peuvent être supprimées en ajoutant @ devant simplexml_load_file ou en ajoutant un drapeau, consultez la page manuel de simplexml_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.

7voto

Edwin Daniels Points 186

Le XML est invalide.

CDATA devrait être enveloppé autour de tous les caractères spéciaux XML, comme le stipule W3C

3voto

Guillaume Points 51

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.

1voto

Malki Mohamed Points 548

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))));

1voto

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.com

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.

Powered by:

X