HTML文書で表を解析し、TRとTDを抽出します。 HTMLアジャイルパック

html-agility-pack html-parsing vb.net

質問

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

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

<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を使用しています。

助けてください。

ありがとうございました。

人気のある回答

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)

私はそれが助けて欲しい



ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ