![]() |
XmlDocument - Umlaute
Hallo,
ich lese einen XML-Stream direkt aus dem Internet. Umlaute werden dabei folgendermaßen übertragen (Beispiel Flächenbrand):
XML-Code:
Lese ich den Tag über
<description>Fl&auml;chenbrand</description>
Code:
aus, dann wird der Umlaut nicht korrekt umgesetzt (Flächenbrand).
XmlNode.Value
Ich habe vorher TJvSimpleXML in Delphi verwendet, wo es ohne Probleme funktioniert hat. Danke im Voraus [edit: falsche Programmiersprache ;)] |
Re: XmlDocument - Umlaute
:gruebel:
|
Re: XmlDocument - Umlaute
Moin,
ich hatte auch ein aehnliches Problem (allerdings in HTML), und habe es geloest, indem ich dem XML-Dokument "UTF-8" als Charset gegeben habe, und alle Daten UTF-8-kodiert habe ;) Greetz alcaeus |
Re: XmlDocument - Umlaute
Hi alcaeus.
Inzwischen habe ich es auch so gelöst. Allerdings existieren noch mehrere Server, die ich nicht auf UTF8 umstellen kann. |
Re: XmlDocument - Umlaute
Hi,
schreib dir einfach eine Funktion, die in dem übergebenden String alle Entities in Umlaute ändert.
Delphi-Quellcode:
Das musst du dann natürlich mit allen anderen Entities auch machen. ;)
str_mit_entities := 'Jäger';
str_mit_umlauten := StringReplace(str_mit_entities,'ä','ä',[rfReplaceAll, rfIgnoreCase]); // str_mit_umlauten = Jäger Gruß Sascha |
Re: XmlDocument - Umlaute
Hi folks.
Auch wenn das Problem von Walter scheinbar zu seiner eigenen Zufriedenheit gelöst ist - ein paar Anmerkungen hätte ich noch dazu. Zitat:
XML-Code:
Es muss dann die Datei html.dtd mit folgendem Inhalt hinterlegt werden:
<?xml version="1.0"?>
<!DOCTYPE html SYSTEM "html.dtd"> <html> <description>Flächenbrand</description> </html>
XML-Code:
Stört euch nicht an der Indirektion über eine Parameter-Entity - der Inhalt der Datei iso-lat1.ent kann in diesem stark vereinfachten Beispiel auch direkt in html.dtd abgelegt werden:
<!ENTITY % isolat1 PUBLIC
'ISO 8879:1986//ENTITIES Added Latin 1//EN//XML' 'iso-lat1.ent' > %isolat1;
XML-Code:
Bei dieser Vorgehensweise werden die HTML character entities vom XML Parser automatisch korrekt umgesetzt.
<!ENTITY auml "ä">
<!ENTITY Auml "Ä"> <!ENTITY ouml "ö"> <!ENTITY Ouml "Ö"> <!ENTITY szlig "ß"> <!ENTITY uuml "ü"> <!ENTITY Uuml "Ü"> Grüße vom marabu |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:00 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz