C#检索数据,例如在jQuery中
本文关键字:jQuery 检索 数据 | 更新日期: 2023-09-27 18:36:34
我构建了一个网络浏览器并检索页面的内容...
但是现在将源X次切割很奇怪。
我想要实现的是用一些数据填充ListView
。这是一个示例表,其中包含我需要的一些数据。
<div id="hostsindex">
<div class="right-actions folder-tab">
<a href="/.../.../">Details</a> -
<a href="/../../...html">Add</a>
- <a href="/../.../.....html">Update</a>
</div>
<table class="glossy">
<thead>
<tr><th colspan="3">Services</th></tr></thead>
<tbody>
<tr>
<th width="40%">Hostname</th>
<th width="30%">Service</th>
<th>Info</th>
</tr>
<tr class="notranslate">
<td><a href="/.../.../foo.bar.org">foo.bar.org</a></td>
<td>Host</td>
<td>11.222.333.444</td>
</tr>
<tr class="notranslate">
<td><a href="/.../.../hello.world.org">hello.world.org</a></td>
<td>Host</td>
<td>555.666.777.88</td>
</tr>
</tbody>
</table>
</div>
我要做的是选择<div id="hostsindex">
内的所有<tr class="notranslate">
。
所以最后我想要一个填充tr
的数组
目前我的源代码被剪切了几次,但我想知道 C# 中是否有用于 Web 浏览器的选择器或查询选择器之类的东西?
或者有没有办法在全部选定的元素上进行元素选择?
样本
HtmlElementCollection data = webBrowser1.Document.GetElementById("hostsindex");
//now do some query/selection on data ?
您是否尝试过HTML Agility Pack,它也可以通过NuGet直接在Visual Studio中使用。 您可以将整个页面的HTML放入HTMLDocument对象中,然后拉回所需的任何集合。
例如:
var nodes = htmlDoc.DocumentNode.Descendants("tr").Where(d => d.Attributes.Contains("class") && d.Attributes["class"].Value.Contains("notranslate"));
其中htmlDoc将是你的HTMLDocument对象。 然后,您可以遍历"节点"集合并根据需要进行操作。