【发布时间】:2021-06-13 00:06:57
【问题描述】:
我有这样的html:
<div class="main">
<div class="class1">
<div>
<h1> TEXT H1 class 1
<a> TEXT A class 1
</a>
</h1>
</div>
</div>
<div class="class2">
</div>
<div class="class3">
<div>
<h1> TEXT H1 class 3
<a> TEXT A class 3
</a>
</h1>
</div>
</div>
</div>
</div>
我得到了主类,我能够遍历其中的所有项目并得到我需要的东西。
IEnumerable<HtmlNode> nodes = doc.DocumentNode.Descendants(0).Where(n => n.HasClass("main"));
内部迭代是这样的:
node.SelectSingleNode("//div/div/h1").FirstChild.InnerText;
然后我想获得 class3 项目,所以我这样做了:
IEnumerable<HtmlNode> nodesClass3 = doc.DocumentNode.Descendants(0).Where(n => n.HasClass("class3"));
foreach(var node in nodesClass3)
{
var someVariable = node.SelectSingleNode("//div/div/h1").FirstChild.InnerText;
}
为此的迭代给了我类的文本,我不知道为什么。
我确实尝试仅使用 class3 获取节点,但不幸的是结果相同..
【问题讨论】:
标签: c# html-agility-pack