我需要使用C#获取HTML文件的body标签内的所有内容。有没有好的有效方法呢?
答案 0 :(得分:8)
查看HTML Agility Pack以执行各种HTML操作
它为您提供了一个类似于XmlDocument
XML处理界面的界面:
HtmlDocument doc = new HtmlDocument();
doc.Load("file.htm");
HtmlNode bodyNode = doc.DocumentNode.SelectSingleNode("/html/body");
if(bodyNode != null)
{
// do something
}
答案 1 :(得分:3)
您可以查看SgmlReader和HTML Agility Pack。
答案 2 :(得分:1)
它很容易将页面代码拉入字符串,只需搜索字符串“< body”和字符串“< / body”的出现,然后只需做一些数学运算即可得到你的价值。 ..
答案 3 :(得分:1)
在没有HtmlAgility软件包的情况下使用C#将HTML结构读入HTML字符串并获取正文标签内容
private void Button_Click(object sender, RoutedEventArgs e)
{
string filepath = @"C:\Users\Testing\Documents\sample1.txt";
string htmlString = File.ReadAllText(filepath);
string htmlTagPattern = "<.*?>";
Regex oRegex = new Regex(".*?<body.*?>(.*?)</body>.*?", RegexOptions.Multiline);
htmlString = oRegex.Replace(htmlString, string.Empty);
htmlString = Regex.Replace(htmlString, htmlTagPattern, string.Empty);
htmlString = Regex.Replace(htmlString, @"^\s+$[\r\n]*", "", RegexOptions.Multiline);
htmlString = htmlString.Replace(" ", string.Empty);
}
答案 4 :(得分:0)
如果碰巧是XHTML,那么你可以使用XPath。
答案 5 :(得分:0)
使用XML方法,XPath。使用HTML Agility pack进行更高级的操作。