有人可以帮助解决在 C# 中通过 Agility 解析 Html 的顺序标签的问题吗?我有 2 个问题,如下所示。
在这种情况下,我想解析 Html 并将它们存储到一个结构(列表、堆栈等)中,以便我可以有效地使用这些数据。
<h3> header </h3>
<p> paragraph 1</p>
<p>
<a href="www.google.com">Google</a>
<a href="www.gizmodo.com">Gizmodo</a>
</p>
<ul>
<li> something is here with a download
<a href="www.google.com">link</a>
</li>
<li> hello
<img src="www.imagesource.com"/>
</li>
</ul>
如何按顺序解析这些数据?
如果我使用
var ParaTags = HtmlDocument.DocumentNode.Descendants("p");
,那么我只能获得所有“p”标签。但我不知道如何依次获得“h3”和“p”,因为“p”不在“h3”内。
以下代码将返回所有超链接,
var links =
from paras in document.DocumentNode.Descendants("p")
from hyperLinks in paras.Descendants("a").Where(x => x.Attributes["href"].Value != "")
select hyperLinks;
- 用字符串、超链接和图像解析和存储这些混合内容的最佳方法是什么?所以我可以稍后以有效的方式输出它们?列表,堆栈?换句话说,我想从 html 中存储所有可能的内容,并尽可能保留其格式。因此,一旦我将内容重新加载到应用程序上,我就可以以正确的格式模拟内容。
谢谢!