Question

Je suis en train de charger un morceau de (peut-être) malformé HTML dans un objet XMLDocument, mais il échoue avec XMLExceptions ... car il y a des balises d'ouverture / fermeture supplémentaires et des balises XML malformés tels que <img > au lieu de <img />

Comment puis-je obtenir le XML pour analyser toutes les erreurs dans les données? Y at-il validateur XML que je peux appliquer avant l'analyse, pour corriger ces erreurs? Ou serait la manipulation du Parse d'exception tout ce qui peut être analysé?

Était-ce utile?

La solution

Le HTML Agility pack va analyser la chaîne html, plutôt que xhtml, et est tout à fait pardonner. Le modèle d'objet sera familier si vous avez utilisé XmlDocument.

Autres conseils

Vous pouvez consulter la réponse à cette href="https://stackoverflow.com/questions/118654/iron-python-beautiful-soup-win32-app"> question.

En fait quelque part entre un port de .NET beautifulsoup et le pack d'agilité HTML il y a un moyen.

En fonction des besoins spécifiques en Ontario, il, vous pourriez être en mesure d'utiliser HTML Tidy pour nettoyer le document, importer en utilisant l'objet XMLDocument.

Qu'est-ce que vous essayez de faire est très difficile. HTML ne peut pas être analysé à l'aide d'un analyseur XML depuis XML est stricte et HTML n'est pas. Si ce HTML était compatible XHTML (HTML en XML), puis un analyseur XML serait analyser le code HTML sans problème.

Vous pouvez voir s'il y a un code HTML à XHTML convertisseurs là-bas, si vous voulez vraiment utiliser un analyseur XML pour HTML.

En d'autres termes, je dois encore rencontrer un analyseur XML qui gère XML malformé ... ils ne sont pas conçus pour accepter le balisage lâche comme HTML (pour une bonne raison aussi :))

Vous ne pouvez pas charger XML malformé dans un XmlDocument.

Consultez la Html Agility pack sur CodePlex

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top