我正在使用ASP.Net 4.0开发Web应用程序。我试图读取标签中的元数据和文本。
我能够获取元标记值,但不能获取简单标记内的文本。如果它在元标记内,则返回一个值,否则返回值。但我想同时获取元标记和<title>
标记。
答案 0 :(得分:1)
确保头标记上有runat =“server”,如下所示:
<head runat="server">
然后您将能够访问代码隐藏的元标记,如下所示:
protected void Page_Load(object sender, EventArgs e)
{
foreach (Control cnt in Page.Header.Controls)
{
if (cnt is HtmlMeta)
{
HtmlMeta meta = cnt as HtmlMeta;
Response.Write("Meta tag name: " + meta.Name + ", content: " + meta.Content + ", http-equiv:" + meta.HttpEquiv + "<br />");
}
if (cnt is HtmlTitle)
{
HtmlTitle tit = cnt as HtmlTitle;
Response.Write("Title : " + tit.Text + "<br />");
}
}
}
答案 1 :(得分:0)
您可以使用此方法来实现您想要的效果。
您必须将using System.Text.RegularExpressions;
添加到命名空间
protected string GetTagText(string source, string tag)
{
var regexStr = string.Format("(?<=<{0}>).*(?=</{0}>)", tag);
Regex regex = new Regex(regexStr, RegexOptions.IgnoreCase);
if (regex.IsMatch(source))
{
return regex.Match(source).Value;
}
return null;
}
使用
GetTagText("<title>test title</title>", "title");
返回test title