C# 内部及;外部链接

C# 内部及;外部链接,c#,C#,获取href的和其他可以嵌入URL的标记。简而言之,从给定的web链接获取所有URL的。获取URL的方法有很多,如正则表达式、HtmlAgilityPack、Dcsoup等。。。我想知道哪一个最好?您需要使用类似的方法来解析HTML文档。您还需要使用XPath轻松解析HTML 也可以使用正则表达式,但使用XPath更适合此工作。关于HtmlAgilityPack,下面是示例代码: HtmlDocument doc = new HtmlDocument(); doc.Load("file.htm"

获取
href的
和其他可以嵌入URL的标记。简而言之,从给定的web链接获取所有
URL的
。获取
URL
的方法有很多,如正则表达式、HtmlAgilityPack、Dcsoup等。。。我想知道哪一个最好?

您需要使用类似的方法来解析HTML文档。您还需要使用XPath轻松解析HTML


也可以使用正则表达式,但使用XPath更适合此工作。

关于HtmlAgilityPack,下面是示例代码:

HtmlDocument doc = new HtmlDocument();
doc.Load("file.htm");
foreach(HtmlNode link in doc.DocumentElement.SelectNodes("//a[@href"])
{
    HtmlAttribute att = link["href"];
    att.Value = FixLink(att);
}
doc.Save("file.htm");

它获取所有具有
href
属性的
元素。本例从文件加载文档,但当然可以从字符串加载文档。

HTML不能使用正则表达式进行解析。使用HTML解析器,比如不确定“不能”是否是正确的单词Panagiotis,但我同意“不应该”。更好的选项可用,比如你建议的一个可以用来解析HTML,但这就像试图用大锤钉墙一样。XPath的问题是,HTML文档的格式可能不好。这是XPath的要求之一。@MAdeelKhalid