2009-09-30 55 views
0

我有一個字符串完整的HTML &的讀取分割HTML字符串到單獨的div標籤

Dim strHml as string = "<html><head><title></title></head><body><div class="normal">Dog</div> 
<div class="normal">Cat</div><div class="normal">Elephant</div><div class="normal">Giraffe</div><div class="normal"><div><p>Random Div</p></div>Lion</div><div>Wolf</div> 
<div>Tiger</div></body></html>" 

我想以某種方式能夠把所有的div標籤及其內容 ,並把每一個進入一個數組 已經看到了分裂函數和正則表達式,但沒有明確和簡單的解決方案已經呈現出來。

我已經修改了這種略帶納入嵌套div標籤,但這些標籤我仍然需要在格式返回: -

<div class="normal"><div><p>Random Div</p></div>Lion</div> 
+0

是的,我所呈現的是一些我試圖實現的'Dumbed down'版本,但以下評論非常有幫助。我稍微修改了正則表達式,因爲我在實際應用中的一些div有適用於它們的類。 所以我將它改爲Dim reg = New Regex(「

(.*?)
」) – Miker169 2009-09-30 10:45:30

回答

4

我使用正則表達式測試這個在vb.net。

這就是你需要的嗎?

Dim reg = New Regex("<div>(.*?)</div>") 

     Dim matches = reg.Matches(strHml) 

     For Each mat As Match In matches 
      Dim s As String 
      s = mat.Value 
     Next mat 
+0

這樣做會在以下情況下起作用:沒有嵌套div並且div('s)不跨越多行。 – 2009-09-30 09:36:46

+1

是的,我是aggree,OP需要指定的是他們想要嵌套div的情況,並且可以通過移除製表符和結束行來刪除多行。除此之外,我會嘗試一個HTML解析器 http://www.codeguru.com/vb/vb_internet/html/article.php/c4815 http://www.netomatix.com/products/Documentmanagement/HtmlParserNet.aspx – 2009-09-30 09:42:00

+0

是的,html-parser ++ – 2009-09-30 09:42:58