C# 灵活的Html解析
有人能帮我解决一下C#中Agility解析Html序列标记的问题吗?我有下面列出的两个问题 在本例中,我希望解析以下Html并将它们存储到结构(列表、堆栈等)中,以便有效地使用这些数据C# 灵活的Html解析,c#,html,parsing,C#,Html,Parsing,有人能帮我解决一下C#中Agility解析Html序列标记的问题吗?我有下面列出的两个问题 在本例中,我希望解析以下Html并将它们存储到结构(列表、堆栈等)中,以便有效地使用这些数据 <h3> header </h3> <p> paragraph 1</p> <p> <a href="www.google.com">Google</a> <a href="www.gizmodo.com">Gizmo
<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>
谢谢大家! 如果要提取所有
href
和src
属性,可以尝试以下操作:
using System;
using System.Linq;
using HtmlAgilityPack;
public class Program
{
static void Main()
{
var document = new HtmlDocument();
document.Load("test.html");
var links =
from element in document.DocumentNode.Descendants()
let href = element.Attributes["href"]
let src = element.Attributes["src"]
where href != null || src != null
select href != null ? href.Value : src.Value;
foreach (var link in links)
{
Console.WriteLine(link);
}
}
}
产出:
www.google.com
www.gizmodo.com
www.google.com
www.imagesource.com
不清楚您希望从这个HTML中提取并存储什么信息。是否要提取超链接的所有
href
属性?或者图像的href
和src
?我想要该html中所有可能的内容,包括h3、all p、li、href和img src。如果可能的话,格式也一样。谢谢。如果内存可用,您可以在HtmlDocument类上使用XmlReader,它将按顺序对每个标记进行顺序读取,但我不确定您期望的输出是否能为您提供可以重建为精确Html的内容。但我还需要提取h3和p的文本!
www.google.com
www.gizmodo.com
www.google.com
www.imagesource.com