我正在尝试正确提取从网站获取的div列表的innerText。
这是我想出的,但是由于缺少空格和-符号,因此仍然存在一些错误。
var first = mainmenuTitles[x].Descendants("div").FirstOrDefault(o => o.GetAttributeValue("class", "") == "left").Elements("a").ToList();
string final = "";
foreach (var countfirst in first)
{
final += countfirst.InnerText;
}
Console.WriteLine("Tittle: " + final);
这是html代码的样子
<div class="row row-tall mt4">
<div class="clear">
<div class="left">
<a href="/soccer/italy/">
<strong>Italy</strong>
</a>
-
<a href="/soccer/italy/lega-pro-group-b/">Serie C:: group B</a>
</div> <div class="right fs11"> March 31 </div> </div> </div>
我要获取的文本应如下所示-> 意大利-意甲C :: B组
我不是html专家,如果太简单了,请原谅我,我想念它。
答案 0 :(得分:0)
您可以编写查询以使用xpath //div/a
查找所有节点,然后将内部文本连接起来以获取所需的文本。确保修剪文本以消除多余的空格并返回。
Console.WriteLine(string.Join(" - ", doc.DocumentNode.SelectNodes("//div/a").Select(x => x.InnerText.Trim())));
输出:
Italy - Serie C:: group B
旁注...您可以使用不同的查询来确保通过使用类名也可以得到正确的div。例如.SelectNodes("//div[@class='row row-tall mt4']/a");
。这将为您提供该div下的所有<a>
标签。