DOBON.NETプログラミング道掲示板

No34752 の記事


■34752 / )  AngleSharpのクエリー文
□投稿者/ Wan 一般人(11回)-(2021/06/02(Wed) 15:59:18)
  • アイコン環境/言語:[Windows10 VisualStudio2019 VB.net WindowsForm] 
    分類:[.NET] 

    下記のHtmlDocumentに対して、下記のコードを実行すると
    次のような結果が戻ります。
    
    2017/03
    900億100万-4.7%
    1112億4100万+0.3%
    1077億5200万-5.2%
    1635億9700万+4.7%
    4725億9100万-0.6%
    
    これを、
    
    2017/03
    900億100万
    1112億4100万
    1077億5200万
    1635億9700万
    4725億9100万
    
    この様にするクエリ文はどのように書けばいいのですか?
    (要するに子の要素を全て除外する?)
    CSSセレクタを色々呼んでみたのですが、いっこうに分かりません。
    
    ググってみると
    '.news-box li:not(.news)'
    ['.news-box li.news', '.articles-box li:article']
    '.news-box li:first-child'
    'li:not(.news):not(.article)'
    のようなセレクタ表記がありますが、上手く活用できません。(内容が理解できない)
    APIセレクタは、CSSセレクタと同一なのでしょうか?
    どのようなキーワードで検索すれば、APIセレクタに対する情報を得ることが出来ますでしょうか?
    
    詳しい方いらっしゃいましったらご教授頂ければ幸いに存じます。
    
    
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
    Dim parser = New AngleSharp.Html.Parser.HtmlParser
         Dim HtmlDocument = parser.ParseDocument(HtmlText)
         Dim Elements = HtmlDocument.QuerySelectorAll("td")
         For Each Lop In Elements
           Debug.Print(Lop.TextContent)
         Next
    End Sub
    
    Dim HtmlText As String = "
    <html>
       <table>
         <body>
           <tbody>
             <tr class='odd'>
               <td class='weaken'>2017/03</td>
                <td>900億100万<br><span class='weaken co_br'>-4.7%</span></td>
                <td>1112億4100万<br><span class='weaken co_red'>+0.3%</span></td>
                <td>1077億5200万<br><span class='weaken co_br'>-5.2%</span></td>
                <td>1635億9700万<br><span class='weaken co_red'>+4.7%</span></td>
                <td>4725億9100万<br><span class='weaken co_br'>-0.6%</span></td>
              </tr>
            </tbody>
          </table>
        </body>
      </html>"
    
    
    

違反を報告
返信 削除キー/


Mode/  Pass/


- Child Tree -