Удаление тегов MS Word с помощью Html Agility Pack - PullRequest
0 голосов
/ 24 января 2010

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

Я пытался использовать 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

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

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

1 Ответ

1 голос
/ 24 января 2010

Ну ... я думаю, что нашел решение:

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

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

...