vb.net - HtmlAgilityPack 中的 LINQ-to-XML 以选择 TR
问题描述
这对某人来说可能很简单,所以如果你是那个人,请看看这个:
我有一个包含更多行的表,但我想根据给定的文本提取一行,这里是表摘录:
... <tr>
<td class="border-1px-solid-black" colspan="1">
<img onclick="PopupCenter('{{InvoiceDetails.0.Link}}')" style="max-height: 35px; max-width: 35px; cursor: pointer;" src="/images/report.png" /></td>
<td class="border-1px-solid-black" colspan="11">
<p>{{InvoiceDetails.0.Description}}</p>
</td>
<td class="border-1px-solid-black" colspan="2" style="text-align: right;">
<p>{{InvoiceDetails.0.Quantity}}</p>
</td>
<td class="border-1px-solid-black" colspan="2" style="text-align: right;">
<p>{{InvoiceDetails.0.Amount}} </p>
</td>
</tr>...
我正在使用 HtmlAgilityPack 和 VB.NET,我想获得在任何元素中包含 InvoiceDetails.0 的 TR。
怎么做?
谢谢!
解决方案
我将发布完成此操作的方式,但这不是最短的方式:
nodes = doc.DocumentNode.SelectNodes("//*[text()[contains(., '" + find + "')]]")
If nodes IsNot Nothing Then
node = nodes(0)
While node.ParentNode.Name <> "tr"
node = node.ParentNode
End While
node = node.ParentNode
'and here I have reference to TR node
Next
End If
如果你有更短的方法,请写在这里。
推荐阅读
- c# - 如何停止 Firebase 实时数据库 Unity SDK 侦听器在应用程序启动时加载所有子数据
- javascript - 如何使用 javascript 为平板电脑屏幕宽度缩放整个网页?
- ios - 将控制器显示为 overCurrentContext
- mysql - Mysql 容器以状态退出:Exited (139)
- spring-boot - MyBatis / Srping-Boot Mapper 方法试图从具有原始返回类型 (int) 的方法返回 null
- python - 试图用元组列表绘制直方图
- java - 如何使用 Eclipse 将 jar 添加到项目的类路径中
- flutter - 替换 Set 中的对象
- java - 如何将 xml 文件转换为用 java 的 javascript 文件编写的 xml?
- spring - 在此环境中未启用请求的功能