クロスプラットフォーム アプリケーション (Windows、Mac など) および 32 ビットおよび 64 ビット マシン用のアプリケーションを開発しています。XSDに対して検証する必要がある XML ファイルがたくさんあります。
Delphi XE3 でこれを行う方法はありますか?
DTD 検証を試みましたが、常に「DTD 禁止」エラーが発生します。このエラーを解決するために、多くの Web サイトで言及されている解決策も試しましたが、成功しませんでした。
前もって感謝します。
以下は私が使用したコードです...
function TForm2.ValidateXML(const xmlFile : TFileName) : boolean;
var
xmlDoc: TXMLDocument;
begin
result := false;
xmlDoc := TXMLDocument.Create(nil) ;
try
xmlDoc.ParseOptions := [poResolveExternals, poValidateOnParse];
try
xmlDoc.LoadFromFile(xmlFile) ;
xmlDoc.Active := true; //this will validate
result := true;
except
on EX : EDOMParseError do
begin
ShowMessage('Invalid XML: ' + Ex.Message) ;
end;
end;
finally
xmlDoc := nil;
end;
end;