【问题标题】:HTML AGILITY PACK Parsing Div BlocksHTML AGILITY PACK 解析 Div 块
【发布时间】:2018-02-14 19:53:21
【问题描述】:

我需要解析来自网上商店的商品——我需要它们的名称和价格。每个 item-block 位于这些项目的 div-catalog 内的不同 div
所以我尝试了这个,它有点工作,但我更愿意在 1 个循环中解析名称和价格。我该怎么做?谢谢!

        var url = "http://bestaqua.com.ua/catalog/filtry-obratnogo-osmosa";
        HtmlWeb web = new HtmlWeb();
        HtmlDocument HtmlDoc = web.Load(url);
        var RootNode = HtmlDoc.DocumentNode;
        foreach (HtmlNode node in 
HtmlDoc.DocumentNode.SelectNodes("//div[@class='catalog_blocks']"))
        {
            foreach (HtmlNode item_name in 
node.SelectNodes("//div[@class='catalog_blocks-item-name']"))
            {
                    string name = item_name.InnerText;
                    System.Diagnostics.Debug.Write("NAME :" + name + "\n" );
            }
            foreach (HtmlNode item_price in 
node.SelectNodes("//span[@class='price-new']"))
            {
                string price = item_price.InnerText;
                System.Diagnostics.Debug.Write("PRICE: " + price + "\n");
            }
        }

【问题讨论】:

    标签: c# html .net html-agility-pack


    【解决方案1】:

    由于SelectNodes 使用XPATH 表达式,您可以使用“|”在您的类过滤器中使用union,这将导致单个集合循环。 请注意,您仍然需要检查您在 for 循环中实际选择了哪个元素。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-09-11
      • 1970-01-01
      • 2011-06-04
      • 2014-07-13
      • 2014-08-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多