7,759
社区成员
发帖
与我相关
我的任务
分享
element.GetElementsByTagName("p").Cast(Of HtmlElement).Select(Function(ele) ele.InnerText).ToArray()
element.GetElementsByTagName("p")得到的是一个HtmlElementCollection集合,用Cast转为IEnumerable<HtmlElement>,再用Select方法对成员做一次转换,将HtmlElement转为对应的InnerText,最后用空格join一下。这个是LINQ的写法。也可以用For Each去实现相同的效果,本质上一样。 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
For Each row As HtmlElement In browser.Document.GetElementsByTagName("tr")
If row.Children.Count = 15 Then
For Each element As HtmlElement In row.Children
txtLog.AppendText(
IIf(element.Children.Count = 0,
element.InnerText,
String.Join(" ",
element.GetElementsByTagName("p").
Cast(Of HtmlElement).
Select(Function(ele) ele.InnerText).ToArray()
)) + " ")
Next
txtLog.AppendText(vbCrLf)
End If
Next
End Sub