我正在使用名为 scrap 的操作
public ActionResult Scrap()
{
var webGet = new HtmlWeb();
var document = webGet.Load(Url);
var wikians = from info in document.DocumentNode.SelectNodes("//div[@id='results']")
from link in info.SelectNodes("p//a").Where(x => x.Attributes.Contains("href"))
from content in info.SelectNodes("p").Where(y => y.HasAttributes != true)
select new
{
LinkURL = link.Attributes["href"].Value,
Text = content.InnerText
};
return View();
}
现在我想在视图中显示所有LinkURL和Text。为此,我尝试使用名为 WikiModel 的模型作为
public class WikiModel
{
public string url { get; set; }
public string content { get; set; }
}
现在我怎样才能更进一步,以便在我的视图中显示所有信息。我们可以使用wikimodel
但是如何在此scrap
中添加所有wikimodel
操作的数据?我不知道如何操纵select new
LINQ
来保存模型中的数据。
答案 0 :(得分:2)
首先,您需要从查询中返回WikiModel
个对象的列表:
var wikians = from info in document.DocumentNode.SelectNodes("//div[@id='results']")
from link in info.SelectNodes("p//a").Where(x => x.Attributes.Contains("href"))
from content in info.SelectNodes("p").Where(y => y.HasAttributes != true)
select new WikiModel
{
url = link.Attributes["href"].Value,
content = content.InnerText
};
您可以将其作为Model
:
return View(wikians);
在您看来,您现在可以通过Model
。
答案 1 :(得分:0)
public ActionResult Scrap()
{
var webGet = new HtmlWeb();
var document = webGet.Load(Url);
var wikians = from info in document.DocumentNode.SelectNodes("//div[@id='results']")
from link in info.SelectNodes("p//a").Where(x => x.Attributes.Contains("href"))
from content in info.SelectNodes("p").Where(y => y.HasAttributes != true)
select new WikiModel
{
LinkURL = link.Attributes["href"].Value,
Text = content.InnerText
};
return View(wikians);
}