循环非闭合标签?
Looping through non-closed tags?
您好,提前致谢。
我正在尝试使用 VB.NET 中的 HTMLAgilityPack 循环遍历 table 中的 <td>
标签集合。它们包含在 <tr>
标签内(自然)。
我创建了下面的循环以根据需要访问 TR 和 TD:
For Each tr In table.SelectNodes(".//tr")
For Each td In tr.SelectNodes("td")
'(Handle td's here)
Next
Next
问题是网站 HTML 在其模板中的某个特定 TD 上缺少结束标记。这导致在每个循环中拾取一个 3 TD,因为它将第 3 个 TD 视为包含所有其他 TD 的无限标签。例如:
<tr>
<td>Div 1 info</td>
<td>Div 2 info</td>
<td>Div 3 info
<td>Div 4 info</td>
<td>Div 5 info</td>
</tr>
我的问题是如何解决此问题以循环遍历 TD 的完整集合?我试图检查 TR.Count 是否为 3 然后更新 tr(2).InnerHTML 在适当的地方插入一个标签。就是不更新。
如果您能提供任何帮助,我将不胜感激!谢谢!
设置 HtmlDocument.OptionFixNestedTags
属性:
Dim html = New HtmlDocument
html.OptionFixNestedTags = True
html.LoadHtml(File.ReadAllText(htmlFile))
Dim table As HtmlNode = html.DocumentNode
For Each tr In table.SelectNodes(".//tr")
For Each td In tr.SelectNodes("td")
Console.WriteLine(td.InnerText.Trim())
Next
Next
您好,提前致谢。
我正在尝试使用 VB.NET 中的 HTMLAgilityPack 循环遍历 table 中的 <td>
标签集合。它们包含在 <tr>
标签内(自然)。
我创建了下面的循环以根据需要访问 TR 和 TD:
For Each tr In table.SelectNodes(".//tr")
For Each td In tr.SelectNodes("td")
'(Handle td's here)
Next
Next
问题是网站 HTML 在其模板中的某个特定 TD 上缺少结束标记。这导致在每个循环中拾取一个 3 TD,因为它将第 3 个 TD 视为包含所有其他 TD 的无限标签。例如:
<tr>
<td>Div 1 info</td>
<td>Div 2 info</td>
<td>Div 3 info
<td>Div 4 info</td>
<td>Div 5 info</td>
</tr>
我的问题是如何解决此问题以循环遍历 TD 的完整集合?我试图检查 TR.Count 是否为 3 然后更新 tr(2).InnerHTML 在适当的地方插入一个标签。就是不更新。
如果您能提供任何帮助,我将不胜感激!谢谢!
设置 HtmlDocument.OptionFixNestedTags
属性:
Dim html = New HtmlDocument
html.OptionFixNestedTags = True
html.LoadHtml(File.ReadAllText(htmlFile))
Dim table As HtmlNode = html.DocumentNode
For Each tr In table.SelectNodes(".//tr")
For Each td In tr.SelectNodes("td")
Console.WriteLine(td.InnerText.Trim())
Next
Next