AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein XML Delphi MSXML und fehlende Angabe eines Zeichensatzes in XML-Datei
Thema durchsuchen
Ansicht
Themen-Optionen

MSXML und fehlende Angabe eines Zeichensatzes in XML-Datei

Ein Thema von Daniel · begonnen am 7. Okt 2006 · letzter Beitrag vom 7. Okt 2006
Antwort Antwort
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#1

MSXML und fehlende Angabe eines Zeichensatzes in XML-Datei

  Alt 7. Okt 2006, 19:24
Mo-hoin ,

ich habe folgendes Problem mit einer XML-Datei, die ich auszulesen habe. Die Daten in den Knoten enthalten teilweise Umlaute (siehe Beispiel, Zeile 4 "Funktionalitäten"), in der gesamten Datei ist jedoch kein Encoding oder irgendwas in der Art gesetzt. Lasse ich nun MSXML an diese Datei ran, bekomme ich einen ganz ekligen Fehler.

Anbei mal die ersten Zeilen meiner XML-Datei ... also meine ist es leider nicht und an das Programm, das diese Dateien generiert, komme ich leider auch nicht ran, um dies zu ändern. Es ist also leider mein Problem, mit diesen Dateien fertig zu werden.

XML-Code:
<mouse-capturer-project>
   <general>
      <project-name>lalala</project-name>
      <project-decription>Testen einiger Funktionalitäten von www.lalala.de</project-decription>
      <test-object>www.lalala.de</test-object>
      <date>03.01.2005</date>
      <time>15:05:46</time>
      <created-by>Mouse Capturer</created-by>
   </general>
... und so weiter ...
Kann ich dem MSXML-Parser so ohne Weiteres ein Encoding vorgeben? Es würde langen, wenn er Umlaute klaglos verarbeiten würde.

Wie mach' ich'n das?
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#2

Re: MSXML und fehlende Angabe eines Zeichensatzes in XML-Dat

  Alt 7. Okt 2006, 19:31
Hi,

Wenn ich die Datei mittels Notepad als "Unicode" abspeichere, dann gehts
Edit: Also ich meine, dass Du dafür vielleicht ein Programm schreiben könntest, was diese Umwandlung vornimmt...

mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
marabu

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

Re: MSXML und fehlende Angabe eines Zeichensatzes in XML-Dat

  Alt 7. Okt 2006, 20:16
Hallo Daniel,

MSXML kommt mit auto sensing für UTF-8 und UTF-16 - alles andere muss per encoding Anweisung in der XML declaration gesteuert werden. Wie du da am besten vorgehst hängt von der Größe der XML-Dokumente ab. Es läuft alles darauf hinaus, dass du entweder das Dokument in der richtigen Kodierung anliefern musst (GNU recode) oder die encoding Anweisung nachtragen musst (das könnte kurz vor loadXML stattfinden).

Grüße vom marabu
  Mit Zitat antworten Zitat
xaromz

Registriert seit: 18. Mär 2005
1.682 Beiträge
 
Delphi 2006 Enterprise
 
#4

Re: MSXML und fehlende Angabe eines Zeichensatzes in XML-Dat

  Alt 7. Okt 2006, 20:22
Hallo,
Zitat von Daniel:
...in der gesamten Datei ist jedoch kein Encoding oder irgendwas in der Art gesetzt. Lasse ich nun MSXML an diese Datei ran, bekomme ich einen ganz ekligen Fehler.
XML-Dateien sind implizit UTF8-kodiert, soweit nichts anderes festgelegt ist.
Zitat von Daniel:
Kann ich dem MSXML-Parser so ohne Weiteres ein Encoding vorgeben? Es würde langen, wenn er Umlaute klaglos verarbeiten würde.

Wie mach' ich'n das?
Du könntest die Datei einlesen und als WideString and den Parser übergeben (Methode Load).

Gruß
xaromz
I am a leaf on the wind - watch how I soar
  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 17:22 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