【问题标题】:Finding specific class in HTML using C# and getting its value使用 C# 在 HTML 中查找特定类并获取其值
【发布时间】:2017-01-23 02:59:12
【问题描述】:

我正在尝试下载整个 HTML 页面,如下所示:

var html = new WebClient().DownloadString("http://mypage.com/"); 

这个 HTML 文档包含这样一个类:

<span class="mem_loc">United States</span>

字面意思就是这样……

我现在需要以某种方式找到这个类 mem_loc 和它的 value ,即美国或任何其他国家...

是否有任何“简单”的方法可以在 C# 中完成?

附: Tag的结构一直是这样的,所以我大概可以通过字符串或某种方式搜索它?

附:我只想获取 >

【问题讨论】:

    标签: c# html asp.net parsing


    【解决方案1】:

    实现此目的的一种方法是使用 HTML 解析器。例如HTML agility pack 就是这样一种工具。它允许您这样做:

    var result = doc.DocumentNode.SelectNodes("//span[@class='mem_loc']"));
    

    【讨论】:

    • 好建议,这可以通过只使用常规正则表达式来完成,而不需要任何外部库吗? =)
    • 是的,可以使用常规正则表达式来完成。你可以在这里阅读更多信息:stackoverflow.com/questions/1732348/…。一旦您阅读了此答案,您就可以返回 HTML Agility Pack 或类似的 HTML 解析工具。
    • 达林很酷,你觉得哪种方式更好?我的意思是仅仅因为一行代码就添加一个全新的库不是一个好主意吗?
    • Darin haha​​hh 那是一个很好的:D ...好吧,我现在明白了 =D
    • 1 行代码在生产环境中工作的代码 之间存在差异。所以这一切都取决于你的情况。如果您想为演示文稿或虚拟网站快速模拟某些东西,那么您当然可以使用正则表达式。但是如果你想编写在生产系统中工作的代码,那么相信我,你不想使用正则表达式来解析 HTML。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-14
    • 1970-01-01
    • 2018-06-28
    • 2021-09-29
    • 2014-10-17
    • 2018-10-17
    • 2018-07-22
    相关资源
    最近更新 更多