Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   XML (https://www.delphipraxis.net/46-xml/)
-   -   Prism Wat für komische Zeichen stehen am Anfang des XML-Strings? (https://www.delphipraxis.net/87934-wat-fuer-komische-zeichen-stehen-am-anfang-des-xml-strings.html)

alzaimar 7. Mär 2007 15:22


Wat für komische Zeichen stehen am Anfang des XML-Strings?
 
... wenn ich ein IXMLDocument in einen AnsiString umwandle.

Ich bekomm einen UTF-8 kodierten XML-String. Draus ein XML-Document, bisserl drin rumändern und wieder zurück. Eigentlich Kinderk*cke. Nur für mich nicht :oops:

Schaut mal:

Delphi-Quellcode:
Function XMLToUTF8AnsiString (aXML : IXMLDocument) : AnsiString;
Begin
  aXML.encoding := 'UTF-8';
  aXML.SaveToXML (Result);
End;
Das soll aus einem IXMLDocument ein UTF-8 kodierten String machen. Tut's auch, nur hängen vorne drei komische Zeichen dran. Wat soll dat?

Ich muss mir nun so behelfen
Delphi-Quellcode:
Function XMLToUTF8AnsiString (aXML : IXMLDocument) : AnsiString;
Begin
  aXML.encoding := 'UTF-8';
  aXML.SaveToXML (Result);
  If Copy (result,1,1)<>'<' Then
    Result := Copy(Result,4,maxint);
End;
Aber das kanns ja nicht sein. Weiss jemand Rat? Nachhilfe?

Bernhard Geyer 7. Mär 2007 15:27

Re: Wat für komische Zeichen stehen am Anfang des XML-String
 
Das ist der BOM für UTF8-Codierte Daten. Ist eigentlich nicht nötig da im XML ja nochmal eine Codierungsangabe bezüglich Coding vorkommt aber der MS-XML-Parser macht da halt so (Notepad übrigens auch). Stört aber einige andere XML-parser die hier viel strenger prüfen und diese "falschen" Angaben am Datei-Anfang als Fehler in der Datei anmeckern.

Robert Marquardt 7. Mär 2007 15:31

Re: Wat für komische Zeichen stehen am Anfang des XML-String
 
BDS macht das im Editor auch. Sobald ein UTF-8 Zeichee entdeckt wird, wird als UTF-8 mit BOM gespeichert.
Das kann einen schon aergern wenn solche Files in der JVCL landen und die aelteren Delphis das nicht moegen.
Ungluecklicherweiseist Obones Franzose und das Subversion-Datum wird im File mit expandiertem Monatsnamen abgelegt.

alzaimar 7. Mär 2007 15:50

Re: Wat für komische Zeichen stehen am Anfang des XML-String
 
Sowasy dachte ich mir, also ist das legal, in Ordnung? :shock:

Ich schreib eine Delphi.net DLL für einen C# Entwickler. Datenaustausch ist nunmal XML. Wenn der das Fressen kann, ist mir das egal.

Bernhard Geyer 7. Mär 2007 15:55

Re: Wat für komische Zeichen stehen am Anfang des XML-String
 
Zitat:

Zitat von alzaimar
Sowasy dachte ich mir, also ist das legal, in Ordnung? :shock:

Es ist halt so. Ob es wirklich zu 100% legal (besser standardkonform) ist :gruebel:

Zitat:

Zitat von alzaimar
Ich schreib eine Delphi.net DLL für einen C# Entwickler. Datenaustausch ist nunmal XML. Wenn der das Fressen kann, ist mir das egal.

Da AFAIK im .NET-Framework (unter Windows) auch der MSXML-Parser verwendet wird ist es schnurz-pip-egal.
Selbst mußte ich schon 2 Mal über so einen sch*** Fluchen.

alzaimar 7. Mär 2007 16:38

Re: Wat für komische Zeichen stehen am Anfang des XML-String
 
Zitat:

Zitat von Bernhard Geyer
Selbst mußte ich schon 2 Mal über so einen sch*** Fluchen.

Ist XML dann eine Erfindung der Pharma-Industrie, um ihre Psychopharmaka und sonstige Antidepressiva besser verkaufen zu können? :zwinker:

Danke an alle Mitfühlenden...


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:53 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