2011-01-05 44 views
-1

我应该如何搜索并从HTML文件中获取字符串使用c# in asp.net?这是代码:如何从html文件中获取字符串?

private string getHtml(string key) 
{ 
    StreamReader f = new StreamReader("path"); 
    string htmlTag = key; 
    string str = f.ReadToEnd().ToString(); 
    Match m = Regex.Match(str, "<" + htmlTag + ">" + "(.*)" + "</" + 
           htmlTag + ">", RegexOptions.Singleline); 
    Console.WriteLine(m.Groups[0]);    
    return str; 
} 

回答

0

在你的正则表达式,尝试改变这一点:

"(.*)" 

这样:

"([^<]*)" 

所以,不是任何字符匹配,你的任何字符匹配到(但不包括)下一个小于符号。

你可能也想改变这一点:

"</" + htmlTag + ">" 

这个

"</ ?" + htmlTag + ">" 

要允许斜线后的空间(你可以,如果你有在完全控制忽略这第二个建议HTML文档,并确切知道它们是如何编码的)

0

您可以使用Html Agility Pack,可在此处获得:http://htmlagilitypack.codeplex.com/

+0

只是在这里注意到(根据http://meta.stackexchange.com/questions/156184的要求)Simon推荐的图书馆是他的作者之一。 – 2014-12-07 00:21:41