public CssRule this[String ruleName] { get { CssRule rule = null; rules.TryGetValue(ruleName.ToLowerInvariant(), out rule); return(rule); } }
public RuleCssParser(String ruleCss) { if (!String.IsNullOrEmpty(ruleCss)) { MatchCollection MatchList = rStyles.Matches(ruleCss); foreach (Match item in MatchList) { //Check for nulls if (item != null && item.Groups != null && item.Groups[SelectorKey] != null && item.Groups[SelectorKey].Captures != null && item.Groups[SelectorKey].Captures[0] != null && !String.IsNullOrEmpty(item.Groups[SelectorKey].Value)) { CssRule rule = new CssRule(item.Groups[SelectorKey].Captures[0].Value.Trim()); for (int i = 0; i < item.Groups[NameKey].Captures.Count; i++) { String className = item.Groups[NameKey].Captures[i].Value; String value = item.Groups[ValueKey].Captures[i].Value; //Check for null values in the properies if (!String.IsNullOrEmpty(className) && !String.IsNullOrEmpty(value)) { className = className.Trim(); value = value.Trim(); //One more check to be sure we are only pulling valid css values if (!String.IsNullOrEmpty(className) && !String.IsNullOrEmpty(value) && value != ":") { rule[className] = value; } } } rules.Add(rule.Name.ToLowerInvariant(), rule); } } } }