我已经完成了将表格格式的旧数据转换为新格式的工作。
旧的虚拟数据如下:
<table>
<tr>
<td>Some text 1.</td>
<td>Some text 2.</td>
</tr>
..... //any number of TRs goes here
</table>
问题是新数据需要采用以下格式:
一些文字1. - 一些文字2。 ....
这里需要做的总结:
查找表格中的所有TR。每个TR找到第一个TD并连接第二个TD,用“ - ”分隔。
我正在使用HTML Agility Pack和VB.Net。
请帮助。
谢谢和问候。
答案 0 :(得分:0)
您可以使用Linq和HtmlAgilityPack从表节点获取所有td,获取此节点的所有InnerText并创建新的TR / TD。
// tableNode is the <table> HtmlNode. If you know where is this table you can use XPath to find him.
Dim sb As New StringBuilder()
For Each childNode As HtmlNode In tableNode.DescendantNodes().Where(Function(n) n.Name = "td")
sb.Append(String.Format("{0} - ", childNode.InnerText))
Next
tableNode.RemoveAllChildren()
Dim newTrNode As HtmlNode = tableNode.OwnerDocument.CreateElement("tr")
Dim newTdNode As HtmlNode = tableNode.OwnerDocument.CreateElement("td")
newTdNode.InnerHtml = sb.ToString()
newTrNode.AppendChild(newTdNode)
tableNode.AppendChild(newTrNode)
我希望它有所帮助