Анализ неработающих RSS-каналов с помощью Perl - PullRequest
2 голосов
/ 25 июня 2010

Я бы хотел иметь возможность разбирать RSS и Atom-ленты, содержащие недействительный XML. Ошибки, с которыми я столкнулся и хотел бы исправить включают «простые» вещи, такие как &gt, где закрывающий ; отсутствуют, отсутствуют закрывающие теги и закрывающие теги, которые появляются в неправильный заказ.

Я хотел бы проигнорировать вопрос, теоретически ли это смысл пытаться разбирать искаженные XML документы вообще. Один «технический» термин, который, кажется, довольно близко подходит к тому, что я хочу сделать это "суп-суп". Какие существующие модули CPAN я должен использовать для создания такого синтаксический анализатор, который может терпеть или исправлять простые ошибки, подобные этим описано выше?

1 Ответ

4 голосов
/ 25 июня 2010

Отметьте recover как LibXML , если вам действительно нужно, или XML-Liberal , если вы действительно хотите переборщить любой старый мусор.

Я уверен, что вы хотели бы проигнорировать вопрос о том, имеет ли смысл анализ не правильно сформированных документов, но игнорирование этого не заставит его исчезнуть.Большинство инструментов RSS будут корректно отклонять любые неправильно сформированные XML-данные;как правило, вы должны следовать его примеру, если только ваш инструмент не является чем-то необычным, например, отладчиком RSS.

«Суп-тег» - это термин, специально связанный с анализом HTML.Одна из центральных идей XML (и, следовательно, RSS и Atom) заключается в том, что такой вещи не существует.

...