Hier ist eine, die ich verwenden, übergeben in einer XML-Zeichenfolge, setzen ToXml
auf true, wenn Sie eine Zeichenfolge, die "< foo konvertieren möchten/> < Bar/> "auf die native XML-Äquivalent "#lt; foo/# gt; #lt; bar # gt;" - den Hash mit dem Ampersand ersetzen wie dieser Editor es zu entkommen hält ... ebenfalls "; foo/# gt; #lt; bar # gt; #lt" (ersetzen den Hash mit dem Ampersand) auf "<foo/bar> <, wenn ToXml
falsch ist, wird es eine Zeichenfolge enthält, die konvertiert/> "
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 Stellen Sie den Hash mit dem Ampersand wie dieser Editor hält es innerhalb der pre-Tags) entweichende
Edit: Dank technophile für den Hinweis, das Offensichtliche aus, aber die nur der zur Abdeckung ist so konzipiert, XML-Tags Das ist der Kern der Funktion, die einfach erweitert werden kann, um andere XML-Tags abzudecken, und Sie können mehr hinzufügen, die ich vielleicht verpasst habe! Prost! :)
-1 für VB, +2 für genau das, was ich wollte. Danke :) – Polaris878
Gibt es auch eine Alternative zum Aufruf von HttpUtility.HtmlDecode (str) ?? Ich mag es nicht, System.Web nur für diese Funktion einzubinden ... – Polaris878
XmlDocument tut eigentlich gar nichts, wie geschrieben. HtmlDecode erledigt die ganze Arbeit. Wenn Sie den HtmlDecode-Aufruf überspringen und XmlDocument verwenden, um XmlElements/XmlAttribute-Werte zu extrahieren (über .ChildNodes, .SelectNode [s] usw.), werden die Werte dieser Objekte korrekt entkoppelt. – technophile