【问题标题】:Parsing HTML Document using Html Agility Pack使用 Html Agility Pack 解析 HTML 文档
【发布时间】:2013-07-10 15:52:26
【问题描述】:

我正在从事一个项目,其中我必须从网站中提取数据并存储在访问中。 我能够从网站读取数据并将其存储在 html 文档中,但现在我想解析 html 文档并存储在访问中。 以下是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>

我想要&lt;pre&gt;&lt;/pre&gt; 标签之间的内容。 列名如上述 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();


    }

【问题讨论】:

    标签: c# html-agility-pack


    【解决方案1】:

    您使用了错误的方法来加载 HTML 文件,这就是为什么下面的 SelectNodes XPath 查询不起作用的原因。

    doc.LoadHtml(string html) 需要一个包含完整 HTML 文档的字符串,而不是文档文件的路径。

    试试这个:

    doc.Load("E://text.html");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-04
      • 2014-07-13
      • 2014-08-31
      • 2011-01-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多