Как разобрать строку с тегами HTML в ее подстроках, которые выделены жирным шрифтом, курсивом, подчеркнуты - PullRequest
3 голосов
/ 08 ноября 2010

Я создал какой-то инструмент для рендеринга текста для 2D-графической инфраструктуры в c #.

Теперь я пытался проанализировать текст с определенными HTML-тегами, например:

"Hello <b>world</b>!" 

Но код разбора становился уродливым, и я подумал, что должна быть какая-то библиотека, которая делает именно это.В конце он должен вывести массив структур данных, таких как:

string text;
bool IsBold;
bool IsItalic;
bool IsUnderlined;
...

или

string text;
FontStyle FontStyle;

Кто-нибудь знает такой парсер?

Большое спасибо!

Ответы [ 3 ]

3 голосов
/ 08 ноября 2010

HTML Agility Pack - хороший анализатор HTML (а также анализирует фрагменты).

Вы можете запросить его, используя синтаксис XPath (он похож на XmlDocument) - не уверен, насколько хорошоэто будет соответствовать вашим требованиям.

0 голосов
/ 08 ноября 2010

Tidy.net - фантастический инструмент, представляющий собой порт оригинального проекта Tidy, который используется в плагине HTML Tidy firefox. Запустите ваш код через Tidy, и он вернет чистый, совместимый html.

0 голосов
/ 08 ноября 2010

Я не знаю, как это будет работать, но вот некоторые HTML-парсеры:
html_parse
htmlagilitypack

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...