从asp c#中的<p>段落中获取内容

Nar*_*ara 2 c# asp.net html-agility-pack

我想使用以下代码从网页段落加载多行文本框:

// load page source 
var cli = new WebClient();
string rawdata = cli.DownloadString(urltxt.Text.Trim());

// get paragraph content and load in textbox
HtmlDocument document = new HtmlDocument();
document.LoadHtml(rawdata);

foreach (HtmlNode paragraph in document.DocumentNode.SelectNodes("//p"))
{
    string content = paragraph.InnerText;
    valuetxt.Text = "";
    valuetxt.Text = content;
}
Run Code Online (Sandbox Code Playgroud)

我遇到的问题:此代码仅返回网页的最后一段,但我想要所有段落。谁能帮我?提前致谢。对不起,我的英语不好。

Par*_*osh 5

您应该使用StringBuilder此处以获得更好的性能。

HtmlDocument document = new HtmlDocument();
document.LoadHtml(rawdata);

StringBuilder sb = new StringBuilder();

foreach (HtmlNode paragraph in document.DocumentNode.SelectNodes("//p"))
{
    sb.Append(paragraph.InnerText);
}

valuetxt.Text = sb.ToString();
Run Code Online (Sandbox Code Playgroud)

参考和解释:String Vs StringBuilder C#

这不仅仅是让事情顺利进行,而是把事情做得完美!