AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

XmlDocument - Umlaute

Ein Thema von Garby · begonnen am 13. Jan 2006 · letzter Beitrag vom 26. Feb 2006
Antwort Antwort
Benutzerbild von Garby
Garby

Registriert seit: 17. Mär 2003
Ort: Tirol
199 Beiträge
 
Delphi 2005 Professional
 
#1

XmlDocument - Umlaute

  Alt 13. Jan 2006, 10:17
Hallo,

ich lese einen XML-Stream direkt aus dem Internet.
Umlaute werden dabei folgendermaßen übertragen (Beispiel Flächenbrand):<description>Fl&amp;auml;chenbrand</description> Lese ich den Tag über
Code:
XmlNode.Value
aus, dann wird der Umlaut nicht korrekt umgesetzt (Fl&auml;chenbrand).

Ich habe vorher TJvSimpleXML in Delphi verwendet, wo es ohne Probleme funktioniert hat.

Danke im Voraus

[edit: falsche Programmiersprache ]
Walter
Wenn zwei dasselbe tun, ist es noch lange nicht dasselbe
(Adelphi)
  Mit Zitat antworten Zitat
Benutzerbild von Garby
Garby

Registriert seit: 17. Mär 2003
Ort: Tirol
199 Beiträge
 
Delphi 2005 Professional
 
#2

Re: XmlDocument - Umlaute

  Alt 17. Jan 2006, 11:44
Walter
Wenn zwei dasselbe tun, ist es noch lange nicht dasselbe
(Adelphi)
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#3

Re: XmlDocument - Umlaute

  Alt 17. Jan 2006, 14:12
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
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Benutzerbild von Garby
Garby

Registriert seit: 17. Mär 2003
Ort: Tirol
199 Beiträge
 
Delphi 2005 Professional
 
#4

Re: XmlDocument - Umlaute

  Alt 17. Jan 2006, 14:25
Hi alcaeus.

Inzwischen habe ich es auch so gelöst.
Allerdings existieren noch mehrere Server, die ich nicht auf UTF8 umstellen kann.
Walter
Wenn zwei dasselbe tun, ist es noch lange nicht dasselbe
(Adelphi)
  Mit Zitat antworten Zitat
Sascha L

Registriert seit: 4. Jun 2004
Ort: Hamm
390 Beiträge
 
Delphi 2006 Professional
 
#5

Re: XmlDocument - Umlaute

  Alt 26. Feb 2006, 10:36
Hi,

schreib dir einfach eine Funktion, die in dem übergebenden String alle Entities in Umlaute ändert.

Delphi-Quellcode:
str_mit_entities := 'J&auml;ger';
str_mit_umlauten := StringReplace(str_mit_entities,'&auml;','ä',[rfReplaceAll, rfIgnoreCase]);
// str_mit_umlauten = Jäger
Das musst du dann natürlich mit allen anderen Entities auch machen.

Gruß
Sascha
Sascha
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#6

Re: XmlDocument - Umlaute

  Alt 26. Feb 2006, 12:54
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 von Garby:
ich lese einen XML-Stream direkt aus dem Internet.
Wäre es eine XML stream, dann käme er mit einer passenden DTD für die verwendeten entities. Soll aber lediglich well formed HTML als XML verarbeitet werden, dann hilft es im client nachzubessern und die benötigte DTD zu injizieren - beispielsweise über einen stream adapter - die Wahl der Methode hängt vom verwendeten XML Parser ab. Herauskommen muss das hier:

XML-Code:
<?xml version="1.0"?>
<!DOCTYPE html SYSTEM "html.dtd">
<html>
  <description>Fl&auml;chenbrand</description>
</html>
Es muss dann die Datei html.dtd mit folgendem Inhalt hinterlegt werden:

XML-Code:
<!ENTITY % isolat1 PUBLIC
  'ISO 8879:1986//ENTITIES Added Latin 1//EN//XML'
  'iso-lat1.ent' >
%isolat1;
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:

XML-Code:
<!ENTITY auml   "&#x00E4;">
<!ENTITY Auml   "&#x00C4;">
<!ENTITY ouml   "&#x00F6;">
<!ENTITY Ouml   "&#x00D6;">
<!ENTITY szlig   "&#x00DF;">
<!ENTITY uuml   "&#x00FC;">
<!ENTITY Uuml   "&#x00DC;">
Bei dieser Vorgehensweise werden die HTML character entities vom XML Parser automatisch korrekt umgesetzt.

Grüße vom marabu
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:49 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz