Delphi EnvironementをDelphi2007からDelphi XE2に移行しようとしています。我々は、Sourceforgeから最新のTurbopower xmlパートナーを立ち上げました。ネット。我々は、XMLファイルをロードするための簡単なテストをするとき、私たちは、変数「Textxml」型はAnsiString型に変更されたときにコードがステップ2で失敗コードDelphi XE 2でTurbopower XMLパートナーを使用
var
testxml : UnicodeString; // a normal String in Xe2
FModel: TXpObjModel;
begin
FModel := TXpObjModel.Create(nil); //Step 1
FModel.LoadMemory(testxml[1], Length(testxml)); //Step2
end.
の私達のラインを「無効なXML文字が見つかった」というエラーが表示されます次に、xmlが適切にロードされます。
XMLエンコーディングUTF-8
この
<?xml version="1.0" encoding="UTF-8">
のようなものはとてもいずれかはUnicode文字列変数の型に格納されたXMLデータをロードする方法をご提案することができますか?
Turbo Power XMLパートナーをドロップし、タイプのないパラメータを呼び出したり、バイトバッファ管理を自分で処理したりする必要のないOmniXMLに進むことをお勧めします。どのような醜いAPI。 –
@WarrenPがここにあります。ターボパワーのものは死んでいるので、積極的に管理されているXMLライブラリに移行しようとするべきです。 –
Delphi 2009とXE、そしてXE2でXML Partner COMPILESは正常に機能しますが、完全にUnicode対応であり、Unicode対応ではありません。このようなことは、特に古くから積極的に利用されている他の技術では想定されるべきではありません。 –