好吧,当我尝试使用具有很少功能的 foreach 从 HTML 获取文本时。每次迭代的文本总是相同的,但是当我添加断点并检查应该在 foreach 变量中的文本时,它已经改变了。这是代码:
foreach (HtmlNode nodes in listingNode.ChildNodes)
{
i++;
int row = dataGridView1.Rows.Add();
dataGridView1.Rows[row].Cells[0].Value = i; // ktory z kolei?
HtmlAttributeCollection imageNode = nodes.SelectSingleNode("//div[@class='bmlistt']").Attributes; // image
string node = imageNode[1].Value; // link for that image
// add adding image to row
dataGridView1.Rows[row].Cells[1].Value = null; // image
//HtmlNode artistspan = artistNode.SelectSingleNode("//span[@class='artist']");
dataGridView1.Rows[row].Cells[2].Value = nodes.SelectSingleNode("//div[@class='maintext']").SelectSingleNode("//span[@class='artist']").InnerHtml; //returns always same text
dataGridView1.Rows[row].Cells[3].Value = null; // title
dataGridView1.Rows[row].Cells[4].Value = null; // difficulties
//dataGridView1.Rows[row].Cells[5].Value = null; // Checkbox
if (i == 10)
{
i++; // breakpoint
}
}
断点的本地人(10次迭代后)
https://dl.dropbox.com/u/21125662/compilation/_01055.jpg
橙色线显示出了什么问题。(查看代码,然后查看屏幕截图)(节点应始终与节点相同)