请原谅我的英语,这不是我的第一语言。
第1类是我拥有我的财产和清单的地方 第2类是我的html解析器。
目前,它可以打开网页并找到所谓的链接。
现在我的问题是,我想使用Linq,另一个List,或者你认为最好的。 通过studRet(nameid)
对结果进行排序因此,它从“itsupporter”“href”找到的所有结果都按照分类排序
Itsupporter
导致
结果
finans
导致
结果
我该怎么做,什么是最佳做法,哪些好的例子可以指导我找到答案?
我不知道如何确保它找到的链接来自右侧studRet。
我希望这是一个很好的问题。
的Class1
private readonly List<Property> dataList = new List<Property>();
// Get property
internal struct Property
{
public readonly string url;
public readonly string cssTag;
public readonly string studRet;
public readonly int id;
public Property(string url, string cssTag, string studRet, int id)
{
this.url = url;
this.cssTag = cssTag;
this.studRet = studRet;
this.id = id;
}
}
public List<Property> GetList()
{
dataList.Add(new Property("http://elevplads.dk/annoncer?search=It-Supporter", "//div[@class='col-xs-12 col-sm-12 col-md-12']//a", "itsupporter", 1));
dataList.Add(new Property("http://elevplads.dk/annoncer?stillingstype=finans", "//div[@class='col-xs-12 col-sm-12 col-md-12']//a", "finans", 2));
return dataList;
}
第2类
public readonly Jobbot Jobdata = new Jobbot();
public void HandleHtml()
{
List<Jobbot.Property> dataList = Jobdata.GetList();
HtmlWeb web = new HtmlWeb();
foreach (var data in dataList)
{
HtmlDocument document = web.Load(data.url);
var nodes = document.DocumentNode.SelectNodes(data.cssTag);
if (nodes != null)
{
foreach (HtmlNode item in nodes)
{
if (item.Attributes.Contains("href"))
{
if (item.Attributes["href"].Value.StartsWith("http://"))
{
Console.WriteLine(item.Attributes["href"].Value);
}
}
}
}
}
} // End
答案 0 :(得分:0)
我不太确定我理解你的问题。您已经按照您希望结果集的顺序发送了网络请求,因此我不明白为什么您需要对它们进行排序。至于使用studRet属性映射链接,您可以将结果放入列表中:
translateZ(1px)
然后,如果您真的需要对可以使用的结果进行排序:
translateZ(-1px)
但如前所述,在您的情况下,没有必要。