代码之家  ›  专栏  ›  技术社区  ›  Neil McGuigan

如何从.NET中的许多HTML文件读取xpath值?

  •  2
  • Neil McGuigan  · 技术社区  · 14 年前

    我在一个文件夹中有大约5000个HTML文件。我需要使用xpath、close和store-in(sql-server)db循环、打开、获取10个值。

    使用.NET读取xpath值最简单的方法是什么?

    X路径应该相当稳定。

    请提供读取一个值的示例代码,例如/html/head/title/text()。

    谢谢

    1 回复  |  直到 14 年前
        1
  •  4
  •   Brian Lyttle    14 年前

    我想你应该调查一下 HTML Agility Pack . 它是一个HTML解析器而不是一个XML解析器,并且更适合于此任务。如果有什么不符合正在解析的XML,那么解析器将抛出并异常。使用HTML解析器可以让您对输入文件有更多的回旋余地。

    演示如何使用所有href(link)属性执行操作的示例:

     HtmlDocument doc = new HtmlDocument();
     doc.Load("file.htm");
     foreach(HtmlNode link in doc.DocumentElement.SelectNodes("//a[@href"])
     {
        HtmlAttribute att = link["href"];
        att.Value = FixLink(att);
     }
    

    我不接近编译器,但您需要的示例如下:

    string title = doc.DocumentNode.SelectSingleNode("//title").InnerText;