获取HTML表数据

时间:2010-12-15 07:27:46

标签: c# .net html

我有一个HTML表格(好吧,我没有使用它,只是为了清除它),包含许多行和几列。

我想将一些数据放入字符串中以用作工具提示。我现在这样做的方式是将HTML文件的内容作为字符串读取并使用字符串操作来获取我想要的数据。

这可能是一个非常糟糕的主意,所以我想知道是否有任何API可用于从HTML文件中的特定行和列中读取文本(如第2行第2列)。我宁愿不使用外部.dll库文件,但如果没有别的办法,我将不得不使用它。

有什么想法吗?

3 个答案:

答案 0 :(得分:6)

HTML Agility Pack

有一些关于如何使用HTML Agility Pack的好例子。

参考this answer

rtpHarry发布的链接

codeplex site中有关如何使用HTML敏捷包修复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);
 }
 doc.Save("file.htm");

答案 1 :(得分:2)

其中一种方法是使用Html Agility Pack等库来加载html文档,然后使用DOM api或xpath导航到所需的节点并获取内容。 这可以开始使用敏捷包:How to use HTML Agility pack

最后,如果你的html是xhtml(或者是有效的xml格式),那么你可以使用.NET本身提供的xml库来进行操作。

答案 2 :(得分:0)

实际上,我认为你采取的方法是个好主意。

这可能就是我要做的。可能有库可以做到,但他们只是在做同样的事情。

最好从源代码获取数据,而不是从HTML页面解析数据。但如果这就是你所拥有的,那就是你需要做的。

为什么你认为这是一个坏主意?