【发布时间】:2021-06-02 17:50:02
【问题描述】:
我有一个代码 sn-p 加载一个 html 文档并返回以进行进一步操作。
private HtmlDocument LoadPage(string path)
{
var web = new HtmlWeb();
var doc = web.Load(url + path);
return doc;
}
我创建了更小的方法来通过以下方式提取我想要的信息:
public string getNameInfo(String path)
{
HtmlDocument doc = LoadPage(path);
string tag = doc.DocumentNode.SelectSingleNode("//*[@id='header_action']/div[1]/div[2]/h2").InnerText.Replace("\n", String.Empty);
return tag;
}
我有另一个方法返回另一个我想通知的标签
public string getCodeInfo(String path)
{
HtmlDocument doc = LoadPage(path);
string tag = doc.DocumentNode.SelectSingleNode("//*[@id='header_action']/div[1]/div[2]/h1").InnerText.Replace("\n", String.Empty);
return tag;
}
今天我可以提取我想要的信息,但是我想重用已经查阅过的HtmlDocument并享受从页面中单次下载的乐趣。
我尝试了一些解决方案,但我做不到,有没有办法将单个 HtmlDocument 分解为更小的函数来填充我的变量,而无需对加载方法进行多次查询。建议是对 LoadPage 方法执行单个查询并将其用于所有次要功能。
感谢收听
【问题讨论】:
标签: c# asp.net html-agility-pack