Ecco uno che uso, passare una stringa Xml, impostare ToXml
su true se si desidera convertire una stringa contenente "< foo/> < bar/> "al xml equivalente nativo, "lo stato logo #LT; foo/# gt; lo stato logo #LT; Bar N ° gt;" - sostituire l'hash con la e commerciale come questo editor mantiene scampo ... allo stesso modo , se ToXml
è falso, si converte una stringa contenente il "lo stato logo #LT; foo/# gt; lo stato logo #LT; bar N ° gt;" (sostituire l'hash con la e commerciale) su "< 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;
}
(ri posizionare l'hash con la e commerciale come questo editor continua a sfuggire entro i tag pre)
Edit: Grazie alla tecnofili per sottolineare l'ovvio, ma che è stato progettato per coprire solo la Tag XML Questo è l'essenza della funzione, che può essere facilmente estesa per coprire altri tag XML e sentirsi liberi di aggiungere altro che potrei aver perso! Saluti! :)
-1 per VB, +2 per essere esattamente quello che volevo. Grazie :) – Polaris878
Inoltre, c'è un'alternativa alla chiamata a HttpUtility.HtmlDecode (str) ?? Non mi piace dover inserire System.Web solo per quella funzione ... – Polaris878
XmlDocument in realtà non sta facendo nulla qui, come scritto. HtmlDecode sta facendo tutto il lavoro. Se si salta la chiamata HtmlDecode e si utilizza XmlDocument per estrarre i valori XmlElements/XmlAttribute (tramite .ChildNodes, .SelectNode [s], ecc.), I valori di tali oggetti verranno correttamente declassati. – technophile