Linq-计数<;李>;HTML块中的标记

本文关键字:gt 计数 lt Linq- HTML | 更新日期: 2023-09-27 18:00:06

是否有一种方法可以使用带有实体框架4的Linq来计算文本字段中<li>标记的数量,该方法作为对数据库的查询而不是在内存中运行?

Linq-计数<;李>;HTML块中的标记

如果你的html块是有效的,那么平均值就是xml块。您可以尝试将Linq用于XML。另一种方式,你应该pars你的html手册。

这应该为您指明正确的方向,使用Linq到XML:

XDocument doc = XDocument.Parse("your html");
var liCount = doc.Descendants("input").Descendants("li").Count();

恐怕我的答案不是答案,而是一种变通方法。我会把这个问题留一周左右,因为如果有比我聪明得多的人能奇迹般地做到这一点,那就太好了。

在应用尽可能多的其他过滤器后,我对查询调用了.AsEnumerable(),然后在内存中处理结果。实际上,我使用.Where(Function(x) x.Description.Split("<li>").Count > 3)作为内存中的过滤器,理由是有效的HTML并不总是有效的XML——我不一定相信我的用户能提供完美的XHTML兼容内容,但这并不意味着它不能正确地显示。

幸运的是,在业务环境中——对新添加的描述进行质量控制——被检查的内容数量非常少,在应用了所有其他过滤器之后,就不会有大量的内容需要处理。