我想在网站上获取列和行中的数据,但是当我获取数据时,它是垂直的,现在我必须在任何网站的表格中获取数据办法?HtmlAgilityPack从表中获取数据
我有一个表:
<div>
<span id="ctl00_panelContent_ctl01_ucThongTinThiTruong_lblErr"></span>
</div>
<div>
<div id="ctl00_panelContent_ctl01_ucThongTinThiTruong_grdTT" class="RadGrid RadGrid_Office2007 rgMultiHeader" style="height:700px;width:100%;">
<div class="rgHeaderWrapper"><div id="ctl00_panelContent_ctl01_ucThongTinThiTruong_grdTT_GridHeader" class="rgHeaderDiv" style="padding-removed16px;overflow:hidden;">
<table class="rgMasterTable rgClipCells" border="0" id="ctl00_panelContent_ctl01_ucThongTinThiTruong_grdTT_ctl00_Header" style="width:100%;table-layout:fixed;overflow:hidden;empty-cells:show;">
<colgroup>
<col style="width:50px" />
<col style="width:70px" />
<col style="width:70px" />
<col style="width:70px;display:none;" />
<col style="width:70px;display:none;" />
<col style="width:70px;display:none;" />
<col style="width:110px" />
</colgroup>
<thead>
这是我的代码:
var document = webBrowser1.Document;
var documentAsIHtmlDocument3 = (mshtml.IHTMLDocument3)document.DomDocument;
var htmlString = documentAsIHtmlDocument3.documentElement.innerHTML;
HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(htmlString);
// string texts = doc.DocumentNode.SelectSingleNode("//div[@class='inner']/p").InnerText;
HtmlNodeCollection texts = doc.DocumentNode.SelectNodes("//table[@class='rgMasterTable rgClipCells']");
string kq = "";
if (texts != null)
{
foreach (var item in texts)
{
kq += item.InnerText + Environment.NewLine;
}
}
richTextBox1.Text = kq;
}
}
此代码工作正常,但所获得的数据是1垂直的,我想在网站上的数据,因为他们做如何从网站
你有链接到你正在从中获取数据的页面吗? –
它是内部网站应该有平等的访问vpn – LongNgo08
你可以提供表格的HTML与一些实际的数据行? –