Ich habe einen Auftrag gegeben, um alte Daten im Tabellenformat in ein neues Format zu konvertieren.
Alte Dummy-Daten lauten wie folgt:
<table>
<tr>
<td>Some text 1.</td>
<td>Some text 2.</td>
</tr>
..... //any number of TRs goes here
</table>
Das Problem besteht darin, dass die neuen Daten in diesem Format vorliegen müssen:
Etwas Text 1. - Etwas Text 2. ....
Zusammenfassung was hier zu tun ist:
Finde alle TRs in der Tabelle. Finde für jedes TR zuerst TD und verkette es mit dem zweiten TD, getrennt durch "-".
Ich verwende HTML Agility Pack mit VB.Net.
Bitte Hilfe.
Danke und Grüße.
Sie können Linq und HtmlAgilityPack verwenden, um alle tds vom Tabellenknoten abzurufen, den gesamten InnerText dieser Knoten abzurufen und ein neues TR / TD zu erstellen.
// 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)
Ich hoffe, es hilft