private ContentCleanerOperations PrepareOptions(ContentCleanerOperations options) { var _options = options; if (_options == ContentCleanerOperations.Undefined) _options = Options; if (_options == ContentCleanerOperations.Undefined) _options = ContentCleanerOperations.Default; return _options; }
/// <summary> /// Выполнить все очистки /// </summary> /// <param name="xml"></param> /// <param name="baseurl">базовый адрес</param> /// <param name="options"></param> /// <returns></returns> public XElement Clean(XElement xml, string baseurl = null, ContentCleanerOperations options = ContentCleanerOperations.Undefined) { var _options = PrepareOptions(options); if (_options.HasFlag(ContentCleanerOperations.RemoveBadTags)) { RemoveBadTags(xml); } if (_options.HasFlag(ContentCleanerOperations.RemoveBadAttributes)) { RemoveBadAttributes(xml); } if (_options.HasFlag(ContentCleanerOperations.RewriteTables)) { RewriteTables(xml); } if (!string.IsNullOrWhiteSpace(baseurl)) { var baseuri = new Uri(baseurl); if (_options.HasFlag(ContentCleanerOperations.FixImageUrls)) { FixImageUrls(xml, baseuri); } if (_options.HasFlag(ContentCleanerOperations.FixHrefUrls)) { FixHrefUrls(xml, baseuri); } } if (_options.HasFlag(ContentCleanerOperations.SetupPositionClasses)) { SetupPositionClasses(xml); } return xml; }