【问题标题】:Parse value out of HTML using C#使用 C# 从 HTML 中解析值
【发布时间】:2015-12-19 20:08:23
【问题描述】:

我希望能够从以下标记中提取一个数字:

<span class="hidden" itemprop="price">17.73</span>

这个 HTML 有数千行。此标记始终具有相同的格式。价格只能变动。

我尝试使用 HtmlAgilityPack 解析 HMTL。我没有成功。由于 HTML 格式总是一样的,所以肯定有更好的方法来获取价格值。

你能给我一些关于如何解析 HTML 的建议吗?

【问题讨论】:

  • @FᴀʀʜᴀɴAɴᴀᴍ
  • 不清楚您所说的“没有成功”是什么意思。 HTML 解析器(如 HtmlAgilityPack)似乎是任何与 HTML 相关的解析操作的最佳解决方案。在任何情况下,如果目标字符串始终相同,您可以使用不同的内置方法立即提取它(例如,SplitIndexOf);或者只是遍历其中的每个元素,直到找到你想要的(例如,循环 + Substring)。不清楚你想要什么,也不清楚你尝试了什么,似乎有很多替代方案可以提供你所追求的东西。这个问题是题外话。
  • "<span class=\"hidden\" itemprop=\"price\">17.73</span>".Split(">")[1].Split("<")[0]; 可能是您所说的字符串始终相同的开始。
  • 使用 HTML 解析器是正确的方法。

标签: c# html parsing


【解决方案1】:

使用 XPath 表达式:

string x = document.SelectSingleNode(@"//span[@class='hidden' and @itemprop='price']").innerText;

其中documentHtmlElement/HtmlDocument.DocumentNode

【讨论】:

    【解决方案2】:
    String x= webbrowser.Document.getelementsbytagname("span")[0].innerHtml
    

    你需要用c#打开一个网页

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-25
      • 1970-01-01
      • 2015-02-12
      • 2010-09-12
      • 2012-07-12
      相关资源
      最近更新 更多