我正在开展一个项目,我必须从网站上提取数据&存储在访问中。 我能够从网站上读取数据&将它存储在html doc中,但现在我要解析html doc&存储在访问中。 以下是html文件的内容
<HTML><HEAD><TITLE>NCEDC_Search_Results</TITLE></HEAD><BODY>Your search parameters are:
<ul>
<li>start_time=2002/01/01,00:00:00
<li>end_time=2037/01/01,00:00:00
<li>minimum_magnitude=3.0
<li>maximum_magnitude=10
<li>etype=E
<li>rflag=A,F,H,I
<li>system=selected
<li>format=ncread
</ul>
<PRE>
Date Time Lat Lon Depth Mag Magt Nst Gap Clo RMS SRC Event ID
----------------------------------------------------------------------------------------------
2002/01/10 00:44:51.53 40.4415 -126.0167 25.37 3.92 Md 56 269 147 0.29 NCSN 21208454
2002/01/12 04:41:46.93 36.7690 -121.4812 7.74 3.06 Md 54 35 5 0.09 NCSN 21208721
</PRE>
</BODY></HTML>
我想要<pre></pre>
标签之间的内容。
列名称在上面的html文档中给出。
如何在C#中使用Html Agility Pack实现这一目标? 我试过这段代码,请问我该如何进一步处理?
string txt=null;
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml("E://text.html");
HtmlNode node = doc.DocumentNode;
HtmlNodeCollection pre = node.SelectNodes("//pre");
//var prenodes = doc.DocumentNode.SelectNodes("//pre");
if (pre != null)
{
}
Console.ReadKey();
}
答案 0 :(得分:1)
您使用了错误的方法加载HTML文件,这就是以下SelectNodes XPath查询无效的原因。
doc.LoadHtml(string html)
期待一个包含完整HTML文档的字符串,而不是文档文件的路径。
请改为尝试:
doc.Load("E://text.html");