우리는 Delphi Environement를 Delphi2007에서 Delphi XE2로 마이그레이션하려고합니다. 우리는 Sourceforge에서 최신 Turbopower xml 파트너를 개발했습니다. 그물. 우리는 간단한 테스트 우리가 오류가 XML 파일을로드 할 때 "잘못된 XML 문자가 발견"코드의 우리의 선Turbopower XML 파트너를 Delphi XE 2와 함께 사용
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.
변수 "Textxml"타입이 AnsiString을 변경하는 경우 코드는 2 단계에서 실패 그러면 xml이 제대로로드됩니다.
XML 인코딩이
<?xml version="1.0" encoding="UTF-8">
그래서 하나가 우리를 제안 할 수 있습니다와 같은 UTF-8
뭔가 방법 유니 코드 문자열 변수 유형에 저장된 XML 데이터를로드하는 것입니다?
Turbo Power XML 파트너를 삭제하고 타입이 지정되지 않은 매개 변수를 호출하고 직접 바이트 버퍼 관리를 할 필요가없는 OmniXML로 이동하는 것이 좋습니다. 얼마나 못생긴 API인가. –
@WarrenP가 여기에 있습니다. 터보 파워 (Turbo Power)는 죽었고 실제로 유지 관리되는 XML 라이브러리로 옮겨 가야합니다. –
Delphi 2009와 XE, XE2에서 XML 파트너 COMPILES는 괜찮 았지만 완전히 유니 코드를 인식하지 못하고 유니 코드를 지원하지 못했을 수도 있습니다. 그러한 것들은, 특히 옛날에는 더 이상 활발히 사용되지 않는 기술에 의해 가정되어서는 안됩니다. –