从表格单元格中检索信息

时间:2014-01-09 18:33:44

标签: c# wpf visual-studio-2010 webbrowser-control mshtml

我正在从我的WPF应用程序中读取WebBrowser控件中加载的页面。

此页面中有一个数据表,我需要捕获它,我正在使用MSHTML。

我可以检索表,我可以从表中检索行,我只是无法从行中检索单元格。我总是得到NullReferenceException

这就是我现在所拥有的:

foreach (var a in ((wbSocial.Document as HTMLDocument).getElementById("j_idt29:gridDadosTrabalhador").children as IHTMLElementCollection))
    foreach (var b in (a as HTMLTableSection).rows)
        if (((b as HTMLTableRow).cells as HTMLTableCell) == null || ((b as HTMLTableRow).cells as HTMLTableCell).nodeName.ToUpper() == "TH")
            continue;

当我调试HTMLTableRow时,我发现HTMLTableRow中有7个元素,但如果我转换为HTMLTableCell,它会给我NullReferenceException

1 个答案:

答案 0 :(得分:2)

好的,我自己设法解决了。我真的认为这远非我的能力。使它工作后,我真的觉得自己很蠢。

这就是我所做的:

 foreach (var a in ((wbSocial.Document as HTMLDocument).getElementById("j_idt29:gridDadosTrabalhador").children as IHTMLElementCollection))
                    foreach (var b in (a as HTMLTableSection).rows)
                    {
                        if ((b as HTMLTableRow).rowIndex == 0) { continue; }
                        else
                        {
                            foreach (var c in (b as HTMLTableRow).cells)