Discussion:
Umlaute für Xml Konvertieren
(zu alt für eine Antwort)
Frank Strohmann
2003-07-31 04:15:58 UTC
Permalink
Hallo NG,

ich habe ein Problem mit der Konvertierung von Sonderzeichen beim Speichern
in Xml.

Habe mir folgende Funktionen geschrieben - Für erste Hilfe ganz OK, aber ?!?
:-(
Gibt es da nicht eine Möglichkeit das ganze direkt mit dem Framework
abzuwickeln ???

Frank

public static string ConvertToXml(string Str)
{
Str = Str.Replace("&", "&");
Str = Str.Replace("'", "'");
Str = Str.Replace("<", "&lt;");
Str = Str.Replace(">", "&gt;");
Str = Str.Replace("\"", "&quot;");

Str = Str.Replace("Ä", "&#196;");
Str = Str.Replace("Ö", "&#214;");
Str = Str.Replace("Ü", "&#220;");

Str = Str.Replace("ä", "&#228;");
Str = Str.Replace("ö", "&#246;");
Str = Str.Replace("ü", "&#252;");

Str = Str.Replace("ß", "&#223;");

return Str;
}

public static string ConvertFromXml(string Str)
{
Str = Str.Replace("&amp;", "&");
Str = Str.Replace("&apos;", "'");
Str = Str.Replace("&lt;", "<");
Str = Str.Replace("&gt;", ">");
Str = Str.Replace("&quot;", "\"");

Str = Str.Replace("&#196;", "Ä");
Str = Str.Replace("&#214;", "Ö");
Str = Str.Replace("&#220;", "Ü");

Str = Str.Replace("&#228;", "ä");
Str = Str.Replace("&#246;", "ö");
Str = Str.Replace("&#252;", "ü");

Str = Str.Replace("&#223;", "ß");

return Str;
}
Bjoern Hoehrmann
2003-07-31 07:02:28 UTC
Permalink
Post by Frank Strohmann
ich habe ein Problem mit der Konvertierung von Sonderzeichen beim Speichern
in Xml.
Schwer vorstellbar...
Post by Frank Strohmann
Gibt es da nicht eine Möglichkeit das ganze direkt mit dem Framework
abzuwickeln ???
System.Xml übersehen?
Bjoern Hoehrmann
2003-07-31 08:10:23 UTC
Permalink
Post by Bjoern Hoehrmann
Post by Frank Strohmann
Gibt es da nicht eine Möglichkeit das ganze direkt mit dem Framework
abzuwickeln ???
System.Xml übersehen?
ja kenne ich, aber wo ist da eine Funktion wie Encode oder Decode ????
XmlTextWriter kann das beispielsweise. Auch wenn ich nicht verstanden
habe, warum du Umlaute als numerische Zeichenreferenzen angeben willst.
Michael Kremser
2003-07-31 08:12:42 UTC
Permalink
Post by Bjoern Hoehrmann
Post by Frank Strohmann
Gibt es da nicht eine Möglichkeit das ganze direkt mit dem Framework
abzuwickeln ???
System.Xml übersehen?
ja kenne ich, aber wo ist da eine Funktion wie Encode oder Decode ????
Das brauchst du nicht selber machen, die Klassen erledigen das für dich.

Mit freundlichen Grüßen

Michael
--
Michael Kremser

business http://www.earthtv.com/
private http://great.dynu.com/
Rainer Bilek
2003-07-31 07:57:24 UTC
Permalink
Hallo Frank,
Umlaute sind in Html vorgesehen und können direkt verwendet werden. z.B.
"können" - "k&ouml;nnen"
"Älter" - "&Auml;lter"
Ü = &Uuml;
ü = &uuml;
und so weiter.
Um Sonderzeichen in XML zu speichern sind die erwähnten Methoden
System.Web.HttpUtility.HtmlEncode(string s)
und
System.Web.HttpUtility.HtmlDecode(string s)
wichtig und nehmen Dir viel arbeit ab.
z.B. wird "t&auml;glich" als "t&amp;amp;auml;glich" in der xml datei
gespeichert.

Rainer
Post by Frank Strohmann
Hallo NG,
ich habe ein Problem mit der Konvertierung von Sonderzeichen beim Speichern
in Xml.
Habe mir folgende Funktionen geschrieben - Für erste Hilfe ganz OK, aber ?!?
:-(
Gibt es da nicht eine Möglichkeit das ganze direkt mit dem Framework
abzuwickeln ???
Frank
public static string ConvertToXml(string Str)
{
Str = Str.Replace("&", "&amp;");
Str = Str.Replace("'", "&apos;");
Str = Str.Replace("<", "&lt;");
Str = Str.Replace("\"", "&quot;");
Str = Str.Replace("Ä", "&#196;");
Str = Str.Replace("Ö", "&#214;");
Str = Str.Replace("Ü", "&#220;");
Str = Str.Replace("ä", "&#228;");
Str = Str.Replace("ö", "&#246;");
Str = Str.Replace("ü", "&#252;");
Str = Str.Replace("ß", "&#223;");
return Str;
}
public static string ConvertFromXml(string Str)
{
Str = Str.Replace("&amp;", "&");
Str = Str.Replace("&apos;", "'");
Str = Str.Replace("&lt;", "<");
Str = Str.Replace("&quot;", "\"");
Str = Str.Replace("&#196;", "Ä");
Str = Str.Replace("&#214;", "Ö");
Str = Str.Replace("&#220;", "Ü");
Str = Str.Replace("&#228;", "ä");
Str = Str.Replace("&#246;", "ö");
Str = Str.Replace("&#252;", "ü");
Str = Str.Replace("&#223;", "ß");
return Str;
}
Bjoern Hoehrmann
2003-07-31 08:08:01 UTC
Permalink
Post by Rainer Bilek
Umlaute sind in Html vorgesehen und können direkt verwendet werden. z.B.
Schade nur dass es nicht um HTML geht...
Andreas Finke [MS]
2003-07-31 08:29:59 UTC
Permalink
Ja!

Grüsse, Andreas.
--
Andreas Finke
Microsoft Deutschland GmbH

Die Inhalte der in dieser Newsgroup eingestellten Inhalte stammen von
Dritten. Microsoft kann daher für die Richtigkeit und Vollständigkeit der
Inhalte keine Haftung übernehmen. Bitte beachten Sie, daß Ihnen an den
Inhalten keinerlei Rechte eingeräumt werden (Please note this is not a
direct translation of the English version as a result of German Law)
Post by Rainer Bilek
Hallo Frank,
schau dir mal die Methoden
System.Web.HttpUtility.HtmlEncode(string s)
und
System.Web.HttpUtility.HtmlDecode(string s)
sind die auch für XML OK ???
Post by Rainer Bilek
Das sollte Dir helfen.
Grüsse, Andreas.
--
Andreas Finke
Microsoft Deutschland GmbH
Die Inhalte der in dieser Newsgroup eingestellten Inhalte stammen von
Dritten. Microsoft kann daher für die Richtigkeit und Vollständigkeit
der
Post by Rainer Bilek
Inhalte keine Haftung übernehmen. Bitte beachten Sie, daß Ihnen an den
Inhalten keinerlei Rechte eingeräumt werden (Please note this is not a
direct translation of the English version as a result of German Law)
Post by Frank Strohmann
Hallo NG,
ich habe ein Problem mit der Konvertierung von Sonderzeichen beim
Speichern
Post by Frank Strohmann
in Xml.
Habe mir folgende Funktionen geschrieben - Für erste Hilfe ganz OK,
aber
Post by Rainer Bilek
?!?
Post by Frank Strohmann
:-(
Gibt es da nicht eine Möglichkeit das ganze direkt mit dem Framework
abzuwickeln ???
Frank
public static string ConvertToXml(string Str)
{
Str = Str.Replace("&", "&amp;");
Str = Str.Replace("'", "&apos;");
Str = Str.Replace("<", "&lt;");
Str = Str.Replace("\"", "&quot;");
Str = Str.Replace("Ä", "&#196;");
Str = Str.Replace("Ö", "&#214;");
Str = Str.Replace("Ü", "&#220;");
Str = Str.Replace("ä", "&#228;");
Str = Str.Replace("ö", "&#246;");
Str = Str.Replace("ü", "&#252;");
Str = Str.Replace("ß", "&#223;");
return Str;
}
public static string ConvertFromXml(string Str)
{
Str = Str.Replace("&amp;", "&");
Str = Str.Replace("&apos;", "'");
Str = Str.Replace("&lt;", "<");
Str = Str.Replace("&quot;", "\"");
Str = Str.Replace("&#196;", "Ä");
Str = Str.Replace("&#214;", "Ö");
Str = Str.Replace("&#220;", "Ü");
Str = Str.Replace("&#228;", "ä");
Str = Str.Replace("&#246;", "ö");
Str = Str.Replace("&#252;", "ü");
Str = Str.Replace("&#223;", "ß");
return Str;
}
Loading...