我在一个文件夹中有大约5000个html文件。我需要遍历它们,打开,使用xpath来获取10个值,关闭并存储在(SQL Server)数据库中。如何从.Net中的许多HTML文件读取xpath值?
使用.Net读取xpath值的最简单方法是什么?
xpaths应该非常稳定。
请提供的示例代码读取一个值,说/ HTML /头/标题/文本()
感谢
我在一个文件夹中有大约5000个html文件。我需要遍历它们,打开,使用xpath来获取10个值,关闭并存储在(SQL Server)数据库中。如何从.Net中的许多HTML文件读取xpath值?
使用.Net读取xpath值的最简单方法是什么?
xpaths应该非常稳定。
请提供的示例代码读取一个值,说/ HTML /头/标题/文本()
感谢
我想你应该看看HTML Agility Pack。它是一个HTML解析器而不是一个XML解析器,对于这个任务来说更好。如果有任何与解析XML不一致的东西,解析器将抛出异常。使用HTML解析器可以为输入文件提供更多的灵活性。
举例说明如何做所有HREF(链接)一些属性:
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;
作品像一个魅力。谢谢一堆 – 2010-07-27 03:33:01
是这些XHTML文件?如果没有,你将不得不使用Tidy或类似的东西将它们变成可分析的XML。如果他们已经是XHTML,你应该可以很容易地做到这一点 - 读取文件到XDocument,查询你需要的值,保存到数据库 - 然后重复下一个文件 – Jason 2010-07-27 01:09:49
它们是XHTML 1.0 Transitional – 2010-07-27 01:16:01