How to decode string to XML string in C#
HttpUtility.HtmlDecode
fromSystem.Web
WebUtility.HtmlDecode
fromSystem.Net
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.