'-------------------- ' QuerySelectorAll は CSS セレクタを使うため、結果は常に要素ノード Dim tmp0() As IElement = doc.QuerySelectorAll("h2").ToArray()
'' 要素ノード配下のテキストノードを得るためには、 '' TextContent プロパティや Text 拡張メソッドを使う Dim tmp1() As String = doc.QuerySelectorAll("h2.hdg-l2-03>span").Select(Function(n) n.TextContent).ToArray() Dim tmp2() As String = doc.QuerySelectorAll("h2[class]>span").Select(Function(n) n.Text()).ToArray() Dim tmp3() As String = doc.QuerySelectorAll("h2[class='hdg-l2-03']>span").Select(Function(n) n.InnerHtml).ToArray() Dim tmp4() As String = doc.QuerySelectorAll("h2 span").Select(Function(n) n.OuterHtml).ToArray()
'-------------------- ' SelectSingleNode / SelectNodes は XPath を使うため、結果は汎用ノードであり、 ' 要素ノード以外の処理にも使える。CSS セレクタとは別構文。 Dim tmp5() As INode = doc.Body.SelectNodes("//h2").ToArray()
'' 要素だけでなくテキストノードやコメントノードも取得してみる Dim tmp6() As IElement = doc.Body.SelectNodes("//span").OfType(Of IElement)().ToArray() Dim tmp7() As String = doc.Body.SelectNodes("//h2/span/text()").Select(Function(n) n.NodeValue).ToArray() Dim tmp8() As IText = doc.Body.SelectNodes("//h2/span/text()").OfType(Of IText)().ToArray() Dim tmp9() As IComment = doc.Body.SelectNodes("//comment()").OfType(Of IComment)().ToArray()