加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc-3 – ASP.NET MVC 3解析简单的html标记/提取属性值

发布时间:2020-12-16 10:00:21 所属栏目:asp.Net 来源:网络整理
导读:解析html标签的最佳方法是: a href="/Results"Results/a 我只需要提取一个href值. 我需要在控制器上执行此操作. 我知道我可以使用linq到xml或正则表达式. 任何想法对于这种情况更好的方法是什么? 可能有任何MVC助手准备好了吗? 基本上我需要做的是: 我有
解析html标签的最佳方法是:

<a href="/Results">Results</a>

我只需要提取一个href值.

我需要在控制器上执行此操作.

我知道我可以使用linq到xml或正则表达式.

任何想法对于这种情况更好的方法是什么?

可能有任何MVC助手准备好了吗?

基本上我需要做的是:

我有我的扩展方法返回当前网址

public static string GetCurrentUrl(this ViewContext context)
        {
            string action = (string)context.Controller.ValueProvider.GetValue("action").RawValue;
            string controller = (string)context.Controller.ValueProvider.GetValue("controller").RawValue;

            if (action.ToLower() != "index")
                return String.Format("/{0}/{1}",controller,action);
            else if (action.ToLower() != "index" && controller.ToLower() != "home")
                return String.Format("/{0}",controller);
            else
                return "/";
        }

我需要将此网址与href中的值进行比较,例如< a href =“{here cold be any link}”>结果< / a>

解决方法

使用XML解析器并避免使用正则表达式.对于这个特定情况,XDocument似乎很容易:

var doc = XDocument.Parse("<a href="/Results">Results</a>");
var href = doc.Element("a").Attribute("href").Value;

对于需要HTML特定解析并操纵DOM的更复杂场景,您可以使用HTML Agility Pack.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读