Lecture d'un XML impossible à cause d'un "slash" dans un noeud
Bonjour,
Je récupère un fichier XML d'un tiers que je traite puis importe en base de données.
Voici le code que j'utilise :
Code:
1 2 3 4 5 6 7 8 9 10 11
| libxml_use_internal_errors(true);
$xml = simplexml_load_file($fichier);
if ($xml === false) {
echo "<p>Erreur lors de la lecture du XML</p><ul>";
foreach(libxml_get_errors() as $error) {
echo "<li>".$error->message."</li>";
}
echo "</ul>";
} else {
// traitement en base de données
} |
Or depuis peu, ce code ne fonctionne plus et me retourne une série d'erreurs du genre "error parsing attribute name", "attributes construct error" et "Couldn't find end of Start Tag...".
Après analyse du fichier reçu, les erreurs proviennent de quelques noeuds dont le nom contiennent un "/".
Je ne peux pas modifier le XML à la source, donc est-il possible de modifier à la volée le nom du noeud, ou d'enregistrer les lignes qui ne sont pas en erreur, quitte à ignorer totalement celles contenant ce caractère ?
Merci d'avance.