首页 > 解决方案 > 如何使用带有 htmlagilitypack 的样式信息来抓取内部文本

问题描述

我想抢里面的销售号码style="vertical-align: inherit;"。请检查我已经尝试抓住它,但这会返回 null。我该如何解决?请注意我正在使用 htmlagilitypack。

我已经尝试过的:

var SoldNumber = htmlDoc.DocumentNode.SelectNodes("//font[contains(@style,'vertical-align: inherit;')]").ElementAt(0).InnerText;

html:

<div class="item-conditions"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">

                New - 14 sold

        </font></font>
        </div>

标签: c#html-agility-pack

解决方案


这是我尝试并获得所需的输出。

    string text = @"
        <div class=""item - conditions""><font style=""vertical-align: inherit;""><font style=""vertical-align: inherit;"">New - 14 sold</font></font>
        </div>";

    HtmlDocument doc = new HtmlDocument();
    doc.LoadHtml(text);
    var htmlNode = doc.DocumentNode.SelectNodes("//font[@style='vertical-align: inherit;']");
    Console.WriteLine(htmlNode.First().InnerText);

区别:我所做的是删除了 XPath 查询中的“包含”。简单地使用,//font[@style='vertical...]为您提供所有可能性的数组。使用其中任何一个来获取 InnerText 将为您提供您正在寻找的文本。

// output: New - 14 sold


推荐阅读