Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 获取文本中的所有html节点_C#_Html Agility Pack - Fatal编程技术网

C# 获取文本中的所有html节点

C# 获取文本中的所有html节点,c#,html-agility-pack,C#,Html Agility Pack,我有一些文本(不是HTML文档),它们在其他单词之间只有a标记,如下所示(本例有两个a节点): 只是指第一个链接,但我想在文本内的所有链接。我怎样才能找到它们?谢谢。选择文档中的所有链接,然后替换其内部html: HtmlDocument doc = new HtmlDocument(); doc.LoadHtml(text); foreach (var link in doc.DocumentNode.SelectNodes("//a")) link.InnerHtml = "li

我有一些文本(不是HTML文档),它们在其他单词之间只有
a
标记,如下所示(本例有两个
a
节点):


只是指第一个链接,但我想在文本内的所有链接。我怎样才能找到它们?谢谢。

选择文档中的所有链接,然后替换其内部html:

HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(text);

foreach (var link in doc.DocumentNode.SelectNodes("//a")) 
    link.InnerHtml = "link";

string result = doc.DocumentNode.OuterHtml;
结果是

<a rel="nofollow" target="_blank" href="http://loremipsum.net/">link</a> 
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, <a rel="nofollow" 
target="_blank" href="http://loremipsum.net/">link</a> sed diam nonummy nibh 
euismod  tincidunt ut laoreet dolore magna aliquam erat volutpat.

洛雷姆·伊普苏姆·多洛·希特·阿梅特(Lorem ipsum Door sit amet)是一位杰出的领导者,他是一位伟大的领袖
尤伊斯穆德·廷西德和拉奥里特·多洛尔·马格纳·埃拉帕特。

hi@paqogomez,正如我所说,node只返回第一个链接。在他的回答中,他假设它是一个html文档,但它是一个文本,因此结果不是我所需要的。这个问题是下一步:)非常感谢你,谢尔盖。你救了我的命!(如果没有任何链接,它将抛出null异常,但没有问题)@user3293835您是对的-我忘记了HtmlAgilityPack返回
null
而不是空节点集合。只需将所选节点保存到局部变量,如
links
,并在枚举前验证其是否为null
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(text);

foreach (var link in doc.DocumentNode.SelectNodes("//a")) 
    link.InnerHtml = "link";

string result = doc.DocumentNode.OuterHtml;
<a rel="nofollow" target="_blank" href="http://loremipsum.net/">link</a> 
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, <a rel="nofollow" 
target="_blank" href="http://loremipsum.net/">link</a> sed diam nonummy nibh 
euismod  tincidunt ut laoreet dolore magna aliquam erat volutpat.