RuleSetAddTagReplacementRule Method (String, TagAttributeCollection, String, Boolean) |
Namespace: MailBee.Html
public void AddTagReplacementRule( string tagName, TagAttributeCollection tagAttrs, string replacement, bool replaceTagDefinitionOnly )
Exception | Condition |
---|---|
MailBeeInvalidArgumentException | tagName is a null reference (Nothing in Visual Basic) or an empty string, or replacement is a null reference (or an empty string if replaceTagDefinitionOnly is true). |
The condition when this rule satisfies is the same as for ProcessingCondition rule (created with AddTagProcessingCondition(String, TagAttributeCollection) method). See AddTagProcessingCondition(String, TagAttributeCollection) topic for the details which apply to the HTML processing rules of all types.
The action for this rule replaces the matching tag either completely (OuterHtml gets replaced) or partially (only TagDefinition gets replaced) depending on replaceTagDefinitionOnly value. If replaceTagDefinitionOnly is true, this rule simply renames the matching tags removing the original name and attributes with supplied ones while leaving InnerHtml intact.
// To use the code below, import these namespaces at the top of your code. using System; using MailBee.Mime; using MailBee.Html; class Sample { static void Main(string[] args) { // Load HTML message from file. MailMessage message = new MailMessage(); message.LoadMessage(@"C:\Temp\message.eml"); Processor htmlProcessor = new Processor(); htmlProcessor.Dom.OuterHtml = message.BodyHtmlText; RuleSet rules = new RuleSet(); rules.AddTagReplacementRule("br", null, "hr", true); htmlProcessor.Dom.Process(rules, null); // Process the rule and display the results. Console.WriteLine(htmlProcessor.Dom.ProcessToString(rules, null)); } }