【发布时间】:2020-04-05 00:55:56
【问题描述】:
我正在使用 Agility Helper HTML,到目前为止我有这样的代码:
var linkWeb = new HtmlWeb();
var linkDoc = web.Load(link);
foreach (HtmlNode l in linkDoc.DocumentNode.SelectNodes("//p"))
{
Console.WriteLine("text #"+ i++= + l.InnerText);
}
所以这可以很好地读取网络段落文本,除了,我希望它读取所有组合的段落文本,直到到达另一个锚点标记或者您可以想到更好的方法。
<p>
<a href="1.shtml#Top" target="_top">PART 1</a>
CONTENT1;
CONTENT2;
</p>
<p>CONTENT3.</p>
<p>
<a href="2.shtml#Top" target="_top">PART 2</a>
CONTENT1
CONTENT2
CONTENT3
CONTENT4
</p>
<p>CONTENT5.</p>
<p>CONTENT6.</p>
<p>CONTENT8.</p>
<p>
<a href="3.shtml#Top" target="_top">PART 3</a>
CONTENT1
CONTENT2
CONTENT3
CONTENT4.
</p>
所以现在使用我的代码,它会分别读取每个段落的 P 文本。
文本 #1 是
内容1 内容2
TEXT #2 是 内容3。
我想读这个 文本#1 是 内容1 内容2 内容3。
这是动态的,# 的段落会发生变化。
某种检查以确保在点击锚点之前它会读取所有段落/InnerTexts 并知道它应该在同一个 Text # 中。
【问题讨论】:
标签: c# asp.net html-parsing html-agility-pack