OA系统中工作流和表单设计详谈系列--3 获取html指定标签的指定属性值

时间:2022-02-13 14:36:43

由于我们要把输入的控件名称取出,存入数据库中,那个我们就要获取html代码中指定标签的指定属性值。

/// <summary>
        /// 获取html指定标签的指定属性值
        /// </summary>
        /// <param name="strHtml">html字符串</param>
        /// <param name="strTagName">标签名</param>
        /// <param name="strAttributeName">属性名</param>
        /// <returns></returns>
        public static string[] GetAttribute(string strHtml, string strTagName, string strAttributeName)
        {
            List<string> lstAttribute = new List<string>();
            string strPattern = string.Format("<\\s*{0}\\s+.*?(({1}\\s*=\\s*\"(?<attr>[^\"]+)\")|({1}\\s*=\\s*'(?<attr>[^']+)')|({1}\\s*=\\s*(?<attr>[^\\s]+)\\s*))[^>]*>", strTagName, strAttributeName);
            MatchCollection matchs = Regex.Matches(strHtml, strPattern, RegexOptions.IgnoreCase);
            foreach (Match m in matchs)
            {
                lstAttribute.Add(m.Groups["attr"].Value);
            }
            return lstAttribute.ToArray();
        }