XML Highlight in RichTextBox
Recently I’ve been looking for some piece of code that would perform XML highlighting in a Rich Text Box. The Internet provides several free samples and several commercial samples but I wasn’t really satisfied with what I found, mainly because it involved using an XMLTextReader object, which does not help for WYSWYG editing of the XML file.
So I created a simple C# function that formats the text content from a RichTextBox:
public static void HighlightRTF(RichTextBox rtb)
The complexity is roughly O( n ), where n is the number of characters in the XML file.
Here is the result:
You’ll find the function in the text attachment.
Comments
Anonymous
January 04, 2012
Nice - Been trying this for the past few days now with no luck. Thanks!Anonymous
February 24, 2012
Nice work. Angle brackets should be in blue though.Anonymous
August 29, 2012
Perfect stuffAnonymous
September 24, 2012
Good stuff....finally found what I want.....thanksAnonymous
October 27, 2012
how can i convert this class to dll file i tried but i can't?Anonymous
September 10, 2013
The comment has been removedAnonymous
April 14, 2014
It is not working for WPF C# properly. Can you please help me on this?Anonymous
April 14, 2014
I have changed for RichTextBox text like:TextRange allTextRange = new TextRange(rtb.Document.ContentStart, rtb.Document.ContentEnd);string str = allTextRange.Text;and took the range as like:allTextRange.Select(start.GetPositionAtOffset(lasten + 1), start.GetPositionAtOffset(st)); allTextRange.ApplyPropertyValue(TextElement.ForegroundProperty,HighlightColors.HC_INNERTEXT);Although its not showing properly. I am applying text in RichBoxText by XMLDocument like belowXmlDocument doc = new XmlDocument();doc.Load(parentRef."FilePath.xml);gameListXMLText.Document.Blocks.Clear();gameListXMLText.AppendText(doc.InnerXml.ToString());HighlightRTF(gameListXMLText);So please let me know, where i am doing wrong?Anonymous
April 23, 2014
Consider the Nevron Rich Text Editor control (www.nevron.com/products-open-vision-nov-rich-text-editor-control-overview.aspx) works in WPF, Siliverlight and WinForm apps...Anonymous
February 22, 2015
I made a subclass of RichTextBox and put your code in the TextChanged event handler.Anonymous
May 25, 2015
The file is truncated! Thus useless...Anonymous
August 06, 2015
Thanks Costin Boldisor, that was a real help , and is working great.Anonymous
November 08, 2015
Hi! Anyone having the file? it seems that it has got truncated when i try to download it :(Anonymous
January 25, 2016
Great!, But the Complexity of O(n) takes too long.Anonymous
May 16, 2016
Amazing! Thanks!Anonymous
January 14, 2017
This is amazing, thank you so much!