当我尝试解析HTMLTableCell时,innerText值不正确,看起来我得到的是类名而不是文本。mshtml.HTMLTableCell具有不正确的innerText值
现在奇怪的是,当我在调试中查看单元格(在VS2010中)我看到了正确的值我做错了什么?
进一步研究提出这,我在VS2010它看起来像这样 cell.innerText查找值是“中心时”和((mshtml.HTMLTableCellClass)(小区))。innerText属性是“23:45”。问题是,它不会编译的时候我投我以mshtml.HTMLTableCellClass所以我必须使用接口(为什么?)
看到下面的代码:
mshtml.HTMLDocument doc = MainBrowser.Document as mshtml.HTMLDocument;
if (doc != null)
{
mshtml.HTMLTable table = doc.getElementById("ecEventsTable") as mshtml.HTMLTable;
List> textRows = new List>();
foreach (mshtml.HTMLTableRow row in table.rows)
{
if (row != null && row.id != null && row.id.Contains("eventRowId"))
{
List temp = new List();
foreach (mshtml.HTMLTableCell cell in row.cells)
{
string text = cell.innerText;
if (text != null && text != "" && text != " ")
{
if (text.Contains("\r\n"))
text = text.Replace("\r\n", "");
temp.Add(cell.innerText);
}
}
if (temp.Count > 0)
textRows.Add(temp);
}
}
foreach (var row in textRows)
{
string str = String.Join(" ", row);
}
}
}
例如HTML行:
01:30 CNY China House Prices (YoY) 9.6% 9.9%+0
所以'字符串文本= cell.innerText;'是不正确的?你可以添加示例HTML。 –
+1
@AlexK。小示例单元格:'01:30'in line'string text = cell.innerText;'文本是“中心时间”而不是“01:30”。 –
+0
您是否尝试过cell.innerHtml? –