0

テーブル形式の古いデータを新しい形式に変換する仕事を与えました。

古いダミーデータは次のとおりです。

<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 を見つけ、「 - 」で区切られた 2 番目の TD と連結します。

VB.Net で HTML Agility Pack を使用しています。

助けてください。

ありがとうございます。

4

1 に答える 1

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)

お役に立てば幸いです

于 2012-05-03T08:32:47.870 に答える