he aquí que yo uso, pase en una cadena XML, establezca ToXml
en true si desea convertir una cadena que contiene "foo </> < bar/> "para el xml equivalente nativo, "#lt; foo/# gt; #lt; Bar N. gt;" - reemplazar el hash con el símbolo de unión como este editor mantiene escapar de ella ... asimismo Si ToXml
es falsa, se convierten una cadena que contiene el "#lt; foo/# gt; #lt; bar N. gt;" (reemplazar el hash con el símbolo de unión) para "<foo/bar> </> "
string XmlConvert(string sXml, bool ToXml){
string sConvertd = string.Empty;
if (ToXml){
sConvertd = sXml.Replace("<", "#lt;").Replace(">", "#gt;").Replace("&", "#amp;");
}else{
sConvertd = sXml.Replace("#lt;", "<").Replace("#gt;", ">").Replace("#amp;", "&");
}
return sConvertd;
}
(re colocar el hash con el símbolo de unión como este editor mantiene al tanto escapar de ella dentro de las etiquetas pre)
Editar: Gracias a technophile para señalar lo obvio, pero que está diseñado para cubrir única la Etiquetas XML Esa es la esencia de la función, que puede ampliarse fácilmente para abarcar otras etiquetas XML y no dude en agregar más que pueda haber perdido. ¡Aclamaciones! :)
-1 para VB, +2 por ser exactamente lo que yo quería. Gracias :) – Polaris878
Además, ¿hay una alternativa a la llamada a HttpUtility.HtmlDecode (str) ?? No me gusta tener que instalar System.Web solo para esa función ... – Polaris878
XmlDocument no está haciendo nada aquí, tal como está escrito. HtmlDecode está haciendo todo el trabajo. Si omite la llamada HtmlDecode y usa XmlDocument para extraer los valores de XmlElements/XmlAttribute (a través de .ChildNodes, .SelectNode [s], etc.), los valores de esos objetos se guardarán correctamente. – technophile