我有一个HTML表格(好吧,我没有使用它,只是为了清除它),包含许多行和几列。
我想将一些数据放入字符串中以用作工具提示。我现在这样做的方式是将HTML文件的内容作为字符串读取并使用字符串操作来获取我想要的数据。
这可能是一个非常糟糕的主意,所以我想知道是否有任何API可用于从HTML文件中的特定行和列中读取文本(如第2行第2列)。我宁愿不使用外部.dll库文件,但如果没有别的办法,我将不得不使用它。
有什么想法吗?
答案 0 :(得分:6)
有一些关于如何使用HTML Agility Pack的好例子。
中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页面解析数据。但如果这就是你所拥有的,那就是你需要做的。
为什么你认为这是一个坏主意?