J'essaie de charger un document XML dans un objet XPathDocument en C#. Mes documents xml incluent cette ligne: trés dégagée + rade et quand l'analyseur arrive là, il me donne cette erreur: "Une erreur est survenue lors de l'analyse EntityName" Je sais que c'est la cause normale du caractère "é". Est-ce que quelqu'un sait comment puis-je éviter cette erreur ... Mon idée est d'insérer dans le document xml une déclaration d'entités et après avoir remplacé tous les caractères spéciaux par des entités ... mais c'est long et je ne sais pas si ça marche. Avez-vous d'autres idées? Plus simple? Merci beaucoupUne erreur s'est produite lors de l'analyse EntityName
Répondre
Était sur le point de publier ceci et juste après que les serveurs ont baissé. Je pense que je l'ai réécrit correctement de la mémoire:
Je pense que le problème réside dans le fait que par défaut, le XPathDocument
utilise un XmlTextReader
pour analyser le contenu du fichier fourni et ce XmlTextReader
utilise un paramètre EntityHandling
de ExpandEntities
. En d'autres termes, lorsque vous comptez sur les paramètres par défaut, un XmlTextReader
va valider le XML d'entrée et tenter de résoudre toutes les entités. La meilleure façon est de le faire manuellement en prenant le contrôle total sur le XmlReaderSettings
(je fais toujours manuellement):
string myXMLFile = "SomeFile.xml";
string fileContent = LoadXML(myXMLFile);
private string LoadXML(string xml)
{
XPathDocument xDoc;
XmlReaderSettings xrs = new XmlReaderSettings();
// The following line does the "magic".
xrs.CheckCharacters = false;
using (XmlReader xr = XmlReader.Create(xml, xrs))
{
xDoc = new XPathDocument(xr);
}
if (xDoc != null)
{
XPathNavigator xNav = xDoc.CreateNavigator();
return xNav.OuterXml;
}
else
// Unable to load file
return null;
}
Généralement, cela est dû à une incompatibilité entre l'encodage utilisé pour lire le fichier et les fichiers réellement encodés. En supposant que je dirais que le fichier est codé en UTF-8 mais que vous le lisez avec un encodage par défaut. Essayez de renforcer votre question avec plus de détails pour obtenir une réponse plus définitive.
- 1. Une erreur interne s'est produite
- 2. NetCFSvcUtil "Erreur: Une erreur s'est produite dans l'outil."
- 3. Une erreur s'est produite lors de l'installation de Visual Studio 2008
- 4. Une erreur s'est produite lors de la consommation d'un service Web hébergé dans Azure
- 5. "Une erreur interne s'est produite." lors du chargement de fichier PFX avec X509Certificate2
- 6. erreur de liaison est produite gcc
- 7. résultats de Image.SetResolution une erreur générique est produite dans GDI +
- 8. Erreur SQL Server lors de la mise à jour - "Une erreur grave s'est produite sur la commande en cours"
- 9. System.Net.WebException: La connexion sous-jacente a été fermée: Une erreur inattendue s'est produite sur une réception
- 10. ASP.NET Ajax ErrorSys.WebForms.PageRequestManagerServerErrorException: Une erreur inconnue s'est produite lors du traitement de la requête sur le serveur
- 11. Une exception s'est produite Application.ThreadException et AppDomain.CurrentDomain.UnhandledException
- 12. La dimension de processus échoue avec le message "Une erreur FileStore de WriteFile s'est produite"?
- 13. Pas Persister pour: Erreur lors de l'enregistrement avec INotifyPropertyChanged Interceptor
- 14. Erreur lors du transfert du fichier PGP via FTP: La connexion sous-jacente était fermée: Une erreur inattendue s'est produite sur une réception
- 15. Une exception win32 non gérée s'est produite dans runMidlet.exe
- 16. Une erreur de niveau de transport s'est produite ... (Connexion existante fermée par le serveur) Sql Server 2008
- 17. Erreur lors de l'installation Dynamics AX 2009 Team Server
- 18. Erreur lors de l'utilisation StaticResource
- 19. Erreur lors de l'utilisation Faire
- 20. Que signifie une erreur lors de l'évaluation de nil.dependencies?
- 21. Obtention de l'état des variables après qu'une erreur se soit produite dans R
- 22. Erreur lors de l'installation d'iKernel.exe
- 23. ASP.3.5 Erreur lors de l'utilisation de la bibliothèque d'entreprise
- 24. Renommer l'exécutable provoque une erreur lors de l'exécution
- 25. IE s'écraser avec une erreur d'exécution lors de l'exécution javascript
- 26. struts2 Tuiles - obtenir une erreur lors de l'exécution
- 27. est-il une notification lorsque "glisser pour déverrouiller" s'est produite
- 28. Erreur "Erreur de type incorrect: commande" lors de la liaison d'un lambda à une clé
- 29. Autorisations Erreur lors de l'enregistrement de l'assembly
- 30. LINQ :: Erreur lors de l'obtention de l'utilisateur
Il serait utile si vous montrer le code que vous utilisez pour effectuer la charge. – AnthonyWJones