2011-01-27 44 views
0

我試圖從html中刪除與html敏捷性有關的所有html,但我需要保留文本。例如,從這個標籤:從HTML與html敏捷性中獲取文本

<TR><TD> 
<B><A HREF="survival/index.html">Survival</A></B><BR> 
<I>Be Suspicious, Be Worried, Be Prepared</I><BR> 
<TD> 

我想只保留「做可疑......」

我有這樣的方法,但並不能很好地工作:

private static HtmlDocument RemoveHTML(HtmlDocument document) 
    { 
     HtmlDocument textOfDoc = new HtmlDocument(); 
     foreach (var node in document.DocumentNode.SelectNodes(".//p|.//title|.//body")) 
     { 
      var newNode = HtmlNode.CreateNode(node.InnerText+" "); 
      textOfDoc.DocumentNode.AppendChild(newNode); 
     } 
     return textOfDoc; 
    } 

謝謝!

回答

0

它看起來像只提取P,TITLE和BODY標籤。如果你還想要I標籤,你需要這樣做:

document.DocumentNode.SelectNodes(".//p|.//title|.//body|.//i") 
+0

嗯不是,這不是我想要的,因爲我想要的是從頁面中選擇文本以使用Lucene索引它。 我最後做的是用像Tidy .Net這樣的庫清理html代碼,然後如果我添加到foreach中「.//p|.//title|.body」,它工作得很好。 但是,也要感謝! :) – Coconut 2011-02-09 09:12:17