流速:
1.(好)我下载了一张json
2.(好)我从包含html的json对象解析一个值
3.(不行)我在div.countries中显示值
我的代码:
Dim webClient As New System.Net.WebClient
Dim result As String = webClient.DownloadString("http://example.com/countries.json")
Dim values As JObject = JObject.Parse(result)
Dim finalHTML As String = values.GetValue("countries_html")
基本上finalHTML变量如下所示:
<div class="country_name">USA</div>
<div class="country_name">Ireland</div>
<div class="country_name">Australia</div>
我卡住了,不知道如何继续前进。 我需要遍历所有div.country_name并获取它的inner_text。希望有意义。
答案 0 :(得分:1)
这是一篇关于使用HAP的好文章:http://www.mikesdotnetting.com/article/273/using-the-htmlagilitypack-to-parse-html-in-asp-net。
答案 1 :(得分:1)
由于finalHTML
字符串已只包含目标div元素,因此您只需将字符串加载到HtmlDocument
对象并使用一些LINQ将div投影到集合中即可 - IEnumerable
,List<T>
或任何最适合您需要的InnerText字符串:
....
Dim finalHTML As String = values.GetValue("countries_html")
Dim doc = New HtmlDocument()
doc.LoadHtml(finalHTML)
Dim countries = doc.DocumentNode.Elements("div").Select(Function(o) o.InnerText.Trim())
'print the result as comma separated text to console:
Console.WriteLine(String.Join(",", countries))
<强> Dotnetfiddle Demo
强>
输出
USA,Ireland,Australia