Конвертировать HTML в обычный текст, сохраняя P, BR, UL, OL? - PullRequest
3 голосов
/ 07 декабря 2011

При экспорте из текста HTML в лист Excel я пытаюсь сохранить основные форматирования, такие как разрывы строк HTML (<br>, <p>), списки (<ol>, <ul>) и т. Д.

Пример ввода:

<p>This is a test.</p>
<p>This is another<br>test.</p>

<ul>
    <li>10</li>
    <li>20</li>
    <li>30</li>
</ul>

<p>End.</p>

Пример вывода:

This is a test.

This is another
test.

- 10
- 20
- 30

End.

Бесплатная утилита HTMLAsText от известного NirSoft парень, кажется, делает именно то, что я хочу, к сожалению, он поставляется без исходного кода:

enter image description here

Даже после изучения ок.Здесь 20 похожих вопросов о переполнении стека и просмотре Google в течение нескольких часов. Самое близкое, что я могу найти, это эта статья проекта кода .

Поэтому мой вопрос:

Кто-нибудь знает о классе / библиотеке, которые могут преобразовывать HTML в обычный текст при сохранении базового форматирования?

Обновление 2013-05-10

Я закончилс одной функцией, см. полный код на Pastebin .

Ответы [ 2 ]

4 голосов
/ 20 января 2012

Не можете ли вы сделать это самостоятельно, заменив:

<br /> with Environment.NewLine
</p> with Environment.NewLine + Environment.NewLine
<li> with " - ".

Тогда просто удалите оставшуюся часть HTML с помощью регулярных выражений? Казалось бы, вы добились того, что вы хотите, чтобы ваш пример был. Конечно, у кого-то может быть более элегантное решение, чем это. =)

3 голосов
/ 07 декабря 2011

Вы пытались использовать этот и просто установить «разрешенные теги» на те, которые вам нужны?

...