【问题标题】:Differ HTML Nodes with same class name in C#在 C# 中具有相同类名的不同 HTML 节点
【发布时间】:2021-06-19 10:41:34
【问题描述】:

我正在使用HTMLAgilityPack 来解析网站的 HTML。

问题是:There are two nodes with class "price"。我可以通过检查DOM 来区分它们。所以上面3级,我想要的价格有父节点product-top,我不想要的节点有advertisement以上3级。

像这样:

<div class="product-top">
    <div class="xy">
        <div class="zz">
            <div class="price">THIS IS WHAT I WANT>
close all

<div class="advertisement">
    <div class="xy2">
        <div class="zz2">
            <div class="price">THIS IS WHAT I DO NOT WANT>
close all
            

如何在 C# 中使用 HTMLAgilityPack 访问第一个示例中的节点?

提前致谢

【问题讨论】:

  • 首先解析产品顶部或广告。然后从结果元素中获取价格。

标签: c# html html-agility-pack


【解决方案1】:

您可以使用以下 XPath 表达式:

//div[@class='product-top']//div[@class='price']

或者,如果您特别想要以上 3 个级别:

//div[@class='product-top']/div/div/div[@class='price']

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-11
    • 1970-01-01
    • 2013-04-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多