How to decode string to XML string in C#
You can use System.Net.WebUtility.HtmlDecode instead of HttpUtility.HtmlDecode
Useful if you don't want System.Web reference and prefer System.Net instead.
As Kirill and msarchet said, you can use HttpUtility.HtmlDecode
from System.Web
. It escapes pretty much anything correctly.
If you don't want to reference System.Web
you might use some trick which supports all XML escaping but not HTML-specific escaping like é
:
public static string XmlDecode(string value) { var xmlDoc = new XmlDocument(); xmlDoc.LoadXml("<root>" + value + "</root>"); return xmlDoc.InnerText;}
You could also use a RegEx or simple string.Replace
but it would only support basic XML escaping. Things like А
or é
are examples that would be harder to support.