Pra*_*nab 23 c# html-parsing html-agility-pack
我在这段代码中收到"路径中的非法字符"错误.我已经提到"Error Occuring Here"作为发生错误的行中的注释.
var document = htmlWeb.Load(searchUrl);
var hotels = document.DocumentNode.Descendants("div")
.Where(x => x.Attributes.Contains("class") &&
x.Attributes["class"].Value.Contains("listing-content"));
int count = 1;
foreach (var hotel in hotels)
{
HtmlDocument htmlDoc = new HtmlDocument();
htmlDoc.OptionFixNestedTags = true;
htmlDoc.Load(hotel.InnerText); // Error Occuring Here //
if (htmlDoc.DocumentNode != null)
{
var hotelName = htmlDoc.DocumentNode.SelectNodes("//div[@class='business-container-inner']//div[@class='business-content clearfix']//div[@class='business-name-wrapper']//h3[@class='business-name fn org']//div[@class='srp-business-name']//a[0]");
foreach (var name in hotelName)
{
Console.WriteLine(name.InnerHtml);
}
}
}
Run Code Online (Sandbox Code Playgroud)
L.B*_*L.B 49
你应该使用LoadHtml带有字符串的方法.Load方法从文件加载
htmlDoc.LoadHtml(hotel.InnerText);
Run Code Online (Sandbox Code Playgroud)
错误在这里:
htmlDoc.Load(hotel.InnerText);
Run Code Online (Sandbox Code Playgroud)
..因为该重载需要文件的路径:
public void Load(string path)
Run Code Online (Sandbox Code Playgroud)
使用LoadHtml加载HTML片段:
public void LoadHtml(string html)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7355 次 |
| 最近记录: |