我用它来获取一些数据:
string s = dom["table .lotto strong"].Text();
但是我把所有东西都放在了一行。我可以单独解析该表中的每个元素并对其进行操作(例如在每个元素后添加<br />
,因此我不会在1行中获取数据)。
文档令人惊讶地没有显示迭代。
答案 0 :(得分:5)
如果你看一下Text函数的描述,它只返回一个字符串。 基本上,如果你有几个元素,例如2 div,它会将所有内容添加到1个字符串中。 (像string.Join())
如果我得到你想要的东西,那就像那样=&gt;
dom["table .lotto strong"].Each(dom=> {
//doing something what you need with dom var (dom is a IDomObject type)
});
答案 1 :(得分:2)
哈吉。我成功了。例如:
CQ dom = CQ.CreateFromUrl("http://www.somewebsite.xxx");
var rows = dom.Select(".box_results table.results-box_list tr");
var output = @"<table class='table tableballs'>
<thead>
<tr>
<th></th>
<th>Syndicate</th>
<th>Draw Date</th>
<th>Results</th>
</tr>
</thead>
<tbody>";
foreach (var row in rows.Has("td"))
{
output += "<tr>";
CQ tdcells = row.Cq().Find("td");
output += String.Format("<td></td><td>{0}</td><td>{1}</td>",
tdcells[0].Cq().Text(),
tdcells[1].Cq().Text());
var uls = dom.Select(".ball_numbers ul");
int count = 0;
output += "<td><ul class='balls'>";
var numbersTrim = "";
foreach (var ul in tdcells[2].Cq())
{
CQ licells = ul.Cq().Find("li");
foreach (var li in licells)
{
numbersTrim += String.Join("", "<li>" + licells[count].Cq().Text() + "</li>");
count++;
}
output += numbersTrim;
}
count = 0;
output += @"</ul></td>
</tr>";
}
output += @"</table>";
享受老朋友老朋友