连接两个 SelectNodes htmlagilitypack
Concat two SelectNodes htmlagilitypack
我的模特:
public class Event
{
public string DateOfEvent { get; set; }
public string Teams { get; set; }
public string Championship { get; set; }
}
我使用此代码从 table 解析的 DateOfEvent 和 Teams:
var matches = currentData.DocumentNode.SelectNodes("//tr[@class=' event-header']").
Select(tr => new Event()
{
DateOfEvent =
tr.SelectNodes("./td[1]/table/tr[1]/td[2]//text()[normalize-space()]")
.Single()
.InnerText.Trim(),
Teams = tr.SelectNodes("./td[1]/table/tr[1]/td[3]//text()[normalize-space()]")
.Single()
.InnerText.Trim(),
});
我有很多关于 DateOfEvent 和 Teams 的记录。但我需要添加到这些所有记录领域冠军,但它的领域解析不是来自 table。
var b = currentData.DocumentNode.SelectNode("//div[@class ='sport-champ']")
.Select(p=> new Event()
{
Championship = ......
});
我该怎么做?
如果我理解正确,您想要 select 一组具有 DateOfEvent
、Teams
和 Championship
属性的 Event
对象。
DateOfEvent
和 Teams
来自多行,但是有一个 Championship
并且每一行都一样吗?
那样的话,就先得到Championship
:
var championship = currentData.DocumentNode.SelectNode("//div[@class ='sport-champ']")
.InnerText.Trim();
然后从以下行开始 Select
:
var matches = currentData.DocumentNode.SelectNodes("//tr[@class=' event-header']").
Select(tr => new Event()
{
DateOfEvent = tr.SelectNodes("./td[1]/table/tr[1]/td[2]//text()[normalize-space()]")
.Single()
.InnerText.Trim(),
Teams = tr.SelectNodes("./td[1]/table/tr[1]/td[3]//text()[normalize-space()]")
.Single()
.InnerText.Trim(),
Championship = championship
});
我的模特:
public class Event
{
public string DateOfEvent { get; set; }
public string Teams { get; set; }
public string Championship { get; set; }
}
我使用此代码从 table 解析的 DateOfEvent 和 Teams:
var matches = currentData.DocumentNode.SelectNodes("//tr[@class=' event-header']").
Select(tr => new Event()
{
DateOfEvent =
tr.SelectNodes("./td[1]/table/tr[1]/td[2]//text()[normalize-space()]")
.Single()
.InnerText.Trim(),
Teams = tr.SelectNodes("./td[1]/table/tr[1]/td[3]//text()[normalize-space()]")
.Single()
.InnerText.Trim(),
});
我有很多关于 DateOfEvent 和 Teams 的记录。但我需要添加到这些所有记录领域冠军,但它的领域解析不是来自 table。
var b = currentData.DocumentNode.SelectNode("//div[@class ='sport-champ']")
.Select(p=> new Event()
{
Championship = ......
});
我该怎么做?
如果我理解正确,您想要 select 一组具有 DateOfEvent
、Teams
和 Championship
属性的 Event
对象。
DateOfEvent
和 Teams
来自多行,但是有一个 Championship
并且每一行都一样吗?
那样的话,就先得到Championship
:
var championship = currentData.DocumentNode.SelectNode("//div[@class ='sport-champ']")
.InnerText.Trim();
然后从以下行开始 Select
:
var matches = currentData.DocumentNode.SelectNodes("//tr[@class=' event-header']").
Select(tr => new Event()
{
DateOfEvent = tr.SelectNodes("./td[1]/table/tr[1]/td[2]//text()[normalize-space()]")
.Single()
.InnerText.Trim(),
Teams = tr.SelectNodes("./td[1]/table/tr[1]/td[3]//text()[normalize-space()]")
.Single()
.InnerText.Trim(),
Championship = championship
});