C# HtmlAlityPack未在集合中循环

C# HtmlAlityPack未在集合中循环,c#,html-agility-pack,C#,Html Agility Pack,我有一个网页,上面有一组div,类为“messages”。我试图循环通过它们并将它们放入CSV文件中,但是我无法使集合正确循环。代码如下: string fpath = @"C:\Texts\messages.html"; HtmlDocument page = new HtmlWeb().Load(fpath); var msgs = page.DocumentNode.SelectNodes("//div[@class='message']"); List<string>

我有一个网页,上面有一组div,类为“messages”。我试图循环通过它们并将它们放入CSV文件中,但是我无法使集合正确循环。代码如下:

string fpath = @"C:\Texts\messages.html";

HtmlDocument page = new HtmlWeb().Load(fpath);

var msgs = page.DocumentNode.SelectNodes("//div[@class='message']");

List<string> msgList = new List<string>();
foreach (var msg in msgs)
{
    msgList.Add(msg.InnerHtml);
}
string fpath=@“C:\text\messages.html”;
HtmlDocument页面=新建HtmlWeb().Load(fpath);
var msgs=page.DocumentNode.SelectNodes(“//div[@class='message']”);
List msgList=新列表();
foreach(msg中的var msg)
{
添加(msg.InnerHtml);
}
msg在循环的每次迭代中都保持不变。知道为什么吗

编辑:

HTML示例(这是1个msg.msgs将是这些的集合)


名称
2012年8月10日下午5:02
这里会有消息。

您应该放置一个示例HTML源代码。您使用的是哪个版本的HtmlAgilityPack?你能给我们看一下你的HTML吗?正如Simon说的(双关语不是故意的:P)请给我们一个这个HTML的示例,如果有帮助的话,你可以在JSFiddle.net上做一个小修改。如果你在foreach之前放一个断点,那么msgs对象的类型是什么?page.DocumentNode.SelectNodes返回什么?除了修改fpath的值和在每个“msgbody”分区中使用不同的内容复制示例HTML外,我还逐字复制了您的代码和示例HTML。效果很好。有些事你没有告诉我们。
<div class="message">
<div class="from"><span class="profile fn">Name</span></div>
<abbr class="time published" title="2012-08-11T07:02:50+0000">August 10, 2012 at 5:02 pm</abbr>
<div class="msgbody">
A message will be here.
</div>
</div>