Files
web-security/XSSAttachs/StyleSheetsParser/CssDocument.cs
JacksonBruce 868088c104 web 安全技术首次发布
跨站脚本攻击防御
2015-02-20 13:02:57 +08:00

45 lines
1.3 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace StyleSheetsParser
{
public partial class CssDocument:ICssRulesContainer
{
public CssDocument()
: this(new List<CssRule>())
{
}
public CssDocument(IList<CssRule> Rules, string Encoding = null)
{
this.Rules = Rules;
this.Encoding = Encoding;
}
public string Encoding { get; protected set; }
//public IList<CssImport> Imports { get; protected set; }
//public IList<CssKeyframes> KeyframesList { get; protected set; }
public IList<CssRule> Rules { get; protected set; }
public override string ToString()
{
StringBuilder sb = new StringBuilder(string.IsNullOrWhiteSpace(Encoding) ? string.Empty : "@charset \"" + (Encoding??"").Replace("\"","") + "\";");
if (Rules != null)
{
foreach (var r in Rules) {
if (r==null && !r.IsValid) continue;
//sb.AppendLine();
sb.Append(r);
}
}
return sb.ToString();
}
IEnumerable<CssRule> ICssRulesContainer.Selectors
{
get { return Rules; }
}
}
}