【发布时间】:2014-04-07 09:19:49
【问题描述】:
我正在使用以下代码解析以下 html:
var exroom = (from roomItem in
doc.DocumentNode.SelectNodes("//div[@class='dias']//h2")
from s in roomItem.NextSibling.NextSibling.SelectNodes(".//label")
let rName = roomItem.InnerText.CleanInnerText()
select new
{
roomID = rName,
Pers = 2,
Currency = "EUR",
rateName = s.InnerText.CleanInnerText(),
roomName = rName,
Price = PriceHelper.Convert(PriceRegEx.Match(s.Attributes["precio"].Value.CleanInnerText()).Groups["price"].Value)
}
).ToArray();
但是当我解析没有上述标签的 html 内容时,它会引发异常,如何防止在解析时引发异常并为 exroom 数组返回 0 ?比如我在 dias 类中没有任何元素。
【问题讨论】:
-
那是
HtmlAgilityPack吗? -
@TimSchmelter 是的
-
为什么不返回一个长度为 0 的数组而不是 0?
-
@bluewonder:捕获异常并返回适当的东西可能不是理想的解决方案,但这不是一种自我暗示吗?
-
我已经编辑了你的标题。请参阅“Should questions include “tags” in their titles?”,其中的共识是“不,他们不应该”。
标签: c# parsing exception html-agility-pack raiserror