Quantcast
Channel: VBForums - Visual Basic .NET
Viewing all articles
Browse latest Browse all 27417

[RESOLVED] How to parse loop an html with same tags

$
0
0
Hello,
I'm trying to parse an html with basically the same tags.
Html code sample ( I am not posting the full one, but it is following the same pattern of the sample one) is
HTML Code:

<div data-v-326d86f4="" class="table-box">
  <table data-v-326d86f4="">
      <tr data-v-326d86f4="">
        <td data-v-326d86f4="">BTC</td>
        <td data-v-326d86f4="" class="block-chain">
            <div data-v-326d86f4="" class="chain_box"><span data-v-326d86f4="" class="chain_name">Bitcoin</span> <span data-v-326d86f4=""><i data-v-326d86f4="" class="fa fa-caret-down"></i></span></div>
            <div data-v-326d86f4="" class="select-list"><span data-v-326d86f4="">Bitcoin</span><span data-v-326d86f4="">BEP20(BSC)</span><span data-v-326d86f4="">Bitcoin(SegWit)</span></div>
        </td>
        <td data-v-326d86f4="">0.001</td>
        <td data-v-326d86f4="">0.002</td>
      </tr>
      <tr data-v-326d86f4="">
        <td data-v-326d86f4="">ETH</td>
        <td data-v-326d86f4="" class="block-chain">
            <div data-v-326d86f4="" class="chain_box"><span data-v-326d86f4="" class="chain_name">ERC20</span> <span data-v-326d86f4=""><i data-v-326d86f4="" class="fa fa-caret-down"></i></span></div>
            <div data-v-326d86f4="" class="select-list"><span data-v-326d86f4="">ERC20</span><span data-v-326d86f4="">BEP20(BSC)</span><span data-v-326d86f4="">POLYGON</span><span data-v-326d86f4="">ARBITRUM</span><span data-v-326d86f4="">AURORA</span><span data-v-326d86f4="">METISEVM</span></div>
        </td>
        <td data-v-326d86f4="">0.012</td>
        <td data-v-326d86f4="">0.024</td>
      </tr>
      <tr data-v-326d86f4="">
        <td data-v-326d86f4="">USDT</td>
        <td data-v-326d86f4="" class="block-chain">
            <div data-v-326d86f4="" class="chain_box"><span data-v-326d86f4="" class="chain_name">OMNI</span> <span data-v-326d86f4=""><i data-v-326d86f4="" class="fa fa-caret-down"></i></span></div>
            <div data-v-326d86f4="" class="select-list"><span data-v-326d86f4="">OMNI</span><span data-v-326d86f4="">TRC20</span><span data-v-326d86f4="">ERC20</span><span data-v-326d86f4="">BEP20(BSC)</span><span data-v-326d86f4="">HECO</span><span data-v-326d86f4="">POLYGON</span><span data-v-326d86f4="">FTM</span><span data-v-326d86f4="">AVAX-C</span><span data-v-326d86f4="">ARBITRUM</span><span data-v-326d86f4="">METISEVM</span></div>
        </td>
        <td data-v-326d86f4="">30</td>
        <td data-v-326d86f4="">50</td>
      </tr>
      <tr data-v-326d86f4="">
        <td data-v-326d86f4="">QASH</td>
        <td data-v-326d86f4="" class="block-chain">
            <div data-v-326d86f4="" class="chain_box">
              <span data-v-326d86f4="" class="chain_name">ERC20</span> <!---->
            </div>
            <!---->
        </td>
        <td data-v-326d86f4="">513</td>
        <td data-v-326d86f4="">1026</td>
      </tr>

Is there a way to get as output:
Quote:

BTC - Bitcoin, BEP20(BSC), Bitcoin(Segwit)
ETH - ERC20, BEP20(BSC), POLYGON, ARBITRUM, AURORA, MATISEVM
USDT - OMNI,TRC20,ERC20,BEP20(BSC),HECO,POLYGON,FTM, AVAX-C ,ARBITRUM,METISEVM
QASH - ERC20
I'm trying with the library html agility pack with the code:
Code:

Dim arqHtml As String = "C:\Users\Mattia\Desktop\ready.html"
        Dim myHtml As HtmlAgilityPack.HtmlDocument = New HtmlAgilityPack.HtmlDocument()
        myHtml.Load(arqHtml)
        Dim myTable As HtmlAgilityPack.HtmlNode = myHtml.DocumentNode.SelectSingleNode("//table")

        Dim myRows As HtmlAgilityPack.HtmlNodeCollection = myTable.SelectNodes("tr")
        For Each tmpRow As HtmlAgilityPack.HtmlNode In myRows
            Dim myCells As HtmlAgilityPack.HtmlNodeCollection = tmpRow.SelectNodes("td")
            If myCells IsNot Nothing Then
                Dim myToken As String = myCells(0).InnerText
                Dim mySpans As HtmlAgilityPack.HtmlNodeCollection = myCells(1).SelectNodes("div[contains(@class,'select-list')]/span")
                If mySpans IsNot Nothing Then
                    Dim myListBChain As New List(Of String)
                    For Each mySpan As HtmlAgilityPack.HtmlNode In mySpans
                          myListBChain.Add(mySpan.InnerText)
                    Next
                    RichTextBox1.Text += String.Join(", ", myListBChain)
                End If
            End If
        Next

but the output is not the one expected
Quote:

Bitcoin, BEP20(BSC), Bitcoin(SegWit)ERC20, BEP20(BSC), POLYGON, ARBITRUM, AURORA, METISEVMOMNI, TRC20, ERC20, BEP20(BSC), HECO, POLYGON, FTM, AVAX-C, ARBITRUM, METISEVMEOS, BEP20(BSC)ERC20, BEP20(BSC)TRC20, BEP20(BSC)ZIL, BEP20(BSC)NEOLEGACY, NEON3ERC20, POLYGONERC20,
Thanks

Viewing all articles
Browse latest Browse all 27417

Latest Images

Trending Articles



Latest Images

<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>