C# parse invalid XML characters

I've been dealing with XML a bit lately and have found that when you don't control the data you get all sorts of weird stuff. XML 1.0 doesn't allow certain characters or the XML is invalid. I tested a variety of ways using streams and string builders but I found a bit of LINQ and using a .NET function and in two lines you get a string of XML that only has valid characters.

 var validXmlChars = val.Where( ch => XmlConvert.IsXmlChar( ch ) ).ToArray();  
 return new string( validXmlChars );  

Comments

Popular Posts