7
ago/090
ago/090
Cómo escapear caracteres XML inválidos en C#?
La técnica más usual para escapear/desescapear caracterés inválidos, es utilizar el “reemplazo de strings” de los 5 caracteres problemáticos para XML ( < > & ‘ ” ).
Ahora bien, lo más facil es usar el siguiente método provisto en el framework .Net:
string SecurityElement.Escape(string s)
Por más información: http://msdn2.microsoft.com/en-us/library/system.security.securityelement.escape(VS.80).aspx
Aquí les dejo el código alternativo:
public string EscapeXml( string s ) { string xml = s; if ( !string.IsNullOrEmpty( xml ) ) { xml = xml.Replace( "&", "&" ); xml = xml.Replace( "<", "<" ); xml = xml.Replace( ">;", ">" ); xml = xml.Replace( "\"", """ ); xml = xml.Replace( "'", "'" ); } return xml; }public string UnescapeXml( string s ) { string unxml = s; if ( !string.IsNullOrEmpty( unxml ) ) { unxml = unxml.Replace( "'", "'" ); unxml = unxml.Replace( """, "\"" ); unxml = unxml.Replace( ">", ">;" ); unxml = unxml.Replace( "<", "<;" ); unxml = unxml.Replace( "&", "&" ); } return unxml; }

