2010-06-24 6 views
2

J'aimerais pouvoir analyser les flux RSS et Atom contenant XML non valide. Les erreurs que j'ai rencontrées et que je voudrais corriger incluent des choses «simples» telles qu'un &gt où la fermeture ; est manquante, les balises fermantes manquantes et les balises de fermeture qui apparaissent dans la mauvaise commande .Analyser les flux RSS rompus avec Perl

Je voudrais ignorer la question de savoir si, en théorie, cela rend sens de tenter d'analyser des documents XML malformés. Un terme "technique" qui semble venir plutôt proche de ce que je veux faire est "tag soupe". Quels modules CPAN dois-je utiliser pour construire un parseur capable de tolérer ou de corriger des erreurs simples comme celles décrites plus haut?

Répondre

4

Le recover drapeau à LibXML, si vous devez vraiment, ou XML-Liberal si vous voulez vraiment aller à la mer dans l'analyse des vieilles ordures.

Je suis sûr que vous aimeriez ignorer la question de savoir si l'analyse de documents non-bien formés a du sens, mais l'ignorer ne le fera pas disparaître. La plupart des outils RSS rejetteront correctement toute entrée XML non bien formée. vous devriez généralement suivre, sauf si votre outil est quelque chose d'inhabituel comme un débogueur RSS. "Tag soup" est un terme spécifiquement lié à l'analyse HTML. L'une des idées centrales de XML (et donc RSS et Atom) est qu'il n'y a pas de telle chose.