Удаление тегов MS Word с использованием пакета Html Agility Pack

StackOverflow https://stackoverflow.com/questions/2127390

Вопрос

У меня есть БД с некоторыми текстовыми полями, вставленными из MS Word, и у меня возникли проблемы с удалением только тегов и, но, очевидно, с сохранением их внутреннего текста.

Я пробовал использовать HAP, но иду не в том направлении.

Public Function StripHtml(ByVal html As String, ByVal allowHarmlessTags As Boolean) As String
    Dim htmlDoc As New HtmlDocument()
    htmlDoc.LoadHtml(html)
    Dim invalidNodes As HtmlNodeCollection = htmlDoc.DocumentNode.SelectNodes("//div|//font|//span")
    For Each node In invalidNodes
        node.ParentNode.RemoveChild(node, False)
    Next
    Return htmlDoc.DocumentNode.WriteTo()
End Function

Этот код просто выбирает нужные элементы и удаляет их...но не сохраняя свой внутренний текст..

заранее спасибо

Это было полезно?

Решение

Хорошо...Кажется, я нашел решение:

Public Function StripHtml(ByVal html As String) As String
    Dim htmlDoc As New HtmlDocument()
    htmlDoc.LoadHtml(html)
    Dim invalidNodes As HtmlNodeCollection = htmlDoc.DocumentNode.SelectNodes("//div|//font|//span|//p")
    For Each node In invalidNodes
        node.ParentNode.RemoveChild(node, True)
    Next
    Return htmlDoc.DocumentNode.WriteContentTo
End Function

Я был почти там...:П

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top