这是我的代码:
CQ dom = CQ.Create(htmlString);
var items = dom[".blog-accordion li"];
foreach (var li in items)
{
var newTournament = false;
var test = li["header h2"];
}
在 foreach 循环内部li
变成一个IDomObject
变量,我无法再进一步深入研究它。
有什么建议么?这是我尝试解析的 HTML 示例:
<ul>
<li>
<header>
<h2>Test</h2>
</header>
</li>
<li>
<header>
<h2>Test 2</h2>
</header>
</li>
<li>
<header>
<h2>Test 3</h2>
</header>
</li>
</ul>
我需要获取每个 h2 元素的文本。
这样做是为了保持CsQuery
是一致的jQuery
其行为方式相同。您可以将其转换回CQ
对象通过调用.Cq()
方法本身
foreach (var li in items)
{
var newTournament = false;
var test = li.Cq().Find("header h2");
}
或者如果您想要更多jQuery
ish 语法,以下也有效:
foreach (var li in items)
{
var newTournament = false;
var test = CQ.Create(li)["header h2"];
}
如果您愿意,可以将您的代码重构为以下内容:
var texts = CQ.Create(htmlString)[".blog-accordion li header h2"]
.Select(x=>x.Cq().Text());
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)