【发布时间】:2017-03-07 14:49:53
【问题描述】:
我正在使用 HTML Agility Pack 修改 HTML 文件。
这是一个包含表格的 HTML 文件的示例:
Dim document As New HtmlDocument
Dim tables As Array
document.Load(path_html)
Dim div1 As HtmlNode = HtmlNode.CreateNode("<div></div>")
Dim div2 As HtmlNode = HtmlNode.CreateNode("<div></div>")
tables = document.DocumentNode.Descendants("table").ToArray()
For Each tr As HtmlNode In tables.Descendants("tr").ToArray
tr.AppendChild(div1)
tr.AppendChild(div2)
Next
document.save(path_html)
这是 HTML 文件中的结果:
<div></div><div></div>
我想要的是:
<div></div>
<div></div>
我认为这应该默认实现,因为它使我的 HTML 文件不清楚。
我看到了这个问题(这是我的确切问题)here,但答案对我不起作用(可能是因为 VB.NET 而答案是 C#)。
谁能帮忙?
【问题讨论】:
-
你添加
newLineNode了吗?这将是Dim newLineNode As HtmlNode = HtmlNode.CreateNode("\r\n")。然后你会使用tr.AppendChild(div1)...tr.AppendChild(newLineNode)...tr.AppendChild(div2) -
我试过了,但它在我的 HTML 中添加了 '\r\n',它不会回到原来的位置。
-
tables.Descendants("tr").ToArray为我抛出了一个编译错误。也许这就是问题所在?您能否在问题中提供您的初始 HTML 或至少提供一个示例?
标签: html vb.net html-agility-pack