2010-01-24 25 views
0

我有一个数据库,其中包含一些从MS Word粘贴的文本字段,并且我很难剥离标签和标签,但显然保留了它们的innerText。使用Html Agility Pack剥离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 

这个代码只需选择所需的元素并删除它们......但不能保持自己内心的文字。 。

在此先感谢

回答

1

嗯......我想我找到了解决办法:

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