2017-08-16 46 views
0

要求:將文本「無損」提取出來。從它的:使用HtmlAgility提取跨度內的文本

Dim divnodes As HtmlNode = doc.DocumentNode.SelectSingleNode("//td[@nowrap='nowrap']//span[@class='gen']") 

     If Not divnodes Is Nothing Then 
      MsgBox(div.InnerText) 
     End If 

我也試過

Msgbox(div.Attributes("style").Value) 

,但沒有工作:

<td nowrap="nowrap" align="center"> 
<span class="gen">4:59<br /><span style="color: red">Lossless</span></span> 
</td> 

我只能提取出完整的文本 「59Lossless 4」。

你能解決我嗎。謝謝〜

回答

0

我解決它通過添加「/跨度」

  Dim divnodes As HtmlNodeCollection =doc.DocumentNode.SelectNodes("//td[@nowrap='nowrap']//span[@class='gen']/span") 

      If divnodes IsNot Nothing Then 
      For each div as HtmlNode in divnodes2 
       MsgBox(div.InnerText) 
      Next    
      End If 
+1

順便說一句,你可以用'如果divnodes狀態並沒有沒有Then'代替,如微軟的[Visual Basic中編碼約定推薦】(HTTPS:/ /docs.microsoft.com/en-us/dotnet/visual-basic/programming-guide/program-structure/coding-conventions)。 –

+0

謝謝@AndrewMorton的有用鏈接。是啊。他們建議使用「IsNot」而不是「Not ... Is」。答案已更新! –