2010-04-03 74 views
0

我使用html敏捷包幫助解析html表格信息。現在,首先我發現排在表像解析帶有空格的表格單元格數據,其中有td標籤

var rows = table.Descendants("tr");

然後我發現每一行的單元格數據,如

foreach(var row in rows) 
{ 
    string rowInnerText = row.InnerText; 
} 

這給了我的細胞data.But與他們之間沒有空格like 名稱地址電話號碼但我想要的密文如姓名地址電話號碼意味着哪裏有td標籤我想保留在那裏diffe之間有一個空格租用列單元格

回答

1

這裏是一個想法,但沒有經過充分測試:

var rows = table.Descendants("tr").Select(tr => 
    string.Join(" ", tr.Descendants("td").Select(td => td.InnerText).ToArray())); 

這應該給你帶IEnumerable<string>其中每個包含的元素表示從表中的一行,在你的問題中描述的格式。如果你真的需要你遍歷行其他處理,讓您的foreach循環,並在其身上使用LINQ魔法:

var rows = table.Descendants("tr"); 

foreach (var row in rows) 
{ 
    string rowInnerText = string.Join(" ", 
     row.Descendants("td").Select(td => td.InnerText).ToArray()); 
} 
+0

@Jorn休烏 - 羅德,非常感謝您的answer.In第二碼有什麼缺失,因爲我得到的錯誤tr不存在在這種情況下。 – Harikrishna 2010-04-03 11:01:26

+0

@Harikrishna:我的壞,把'td'和'row'混在一起。現在應該修復。 – 2010-04-03 11:08:26

+0

@Jon Schou-Rode,不,我已經檢查過,但列標題之間沒有空格,並得到了我第一次得到的結果。 – Harikrishna 2010-04-03 11:09:26

相關問題