如何设置一个字符串2 html类具有相同的名称但不同的值

时间:2017-12-07 14:25:51

标签: vb.net

有2个数据余烬动作,如何使用字符串进行2个数据 - 余烬动作,我想得到2个数据 - 余烬动作的值。

`                           PHP         

    <div class="wallet__amount">
      6,000
    </div>
  </div>
  <div data-ember-action="1180" class="wallet__item">
    <div class="wallet__currency">
      BTC
    </div>

    <div class="wallet__amount">
      0.25588524
    </div>
  </div>

`

有2&#34; data-ember-action&#34;但是不同的值,在html中,大多数值会改变,我想要的是有一个按钮,可以得到它的2个不同的值。

我真的很困惑如何得到这个,我不知道。请帮帮我

1 个答案:

答案 0 :(得分:0)

您不应该尝试使用字符串方法或正则表达式解析HTML。但您可以使用可用的HTML解析器,如HtmlAgilityPack。例如,使用此LINQ版本:

Dim doc As New HtmlAgilityPack.HtmlDocument()
doc.LoadHtml(html)

Dim divDataMember = doc.DocumentNode.Descendants("div").
   FirstOrDefault(Function(node) node.Attributes("data-ember-action") IsNot Nothing)

' omitting the If divDataMember IsNot Nothing check 
Dim walletCurrency = divDataMember.Descendants("div").
    FirstOrDefault(Function(node) node.GetAttributeValue("class", "").Equals("wallet__currency", StringComparison.InvariantCultureIgnoreCase))?.InnerText?.Trim()
Dim walletAmount = divDataMember.Descendants("div").
    FirstOrDefault(Function(node) node.GetAttributeValue("class", "").Equals("wallet__amount", StringComparison.InvariantCultureIgnoreCase))?.InnerText?.Trim()