Tôi đang phát triển một ứng dụng đa nền tảng (cho Windows, Mac, v.v.) và cho các máy 32 bit và 64 bit. Tôi có rất nhiều tệp XML mà tôi cần xác thực với XSD của mình.Xác nhận hợp lệ các tệp XML với XSD trong FireMonkey
Có cách nào để thực hiện điều này trong Delphi XE3 không?
Tôi đã thử xác thực DTD nhưng tôi luôn gặp lỗi "DTD bị cấm". Tôi cũng đã thử các giải pháp được đề cập trên nhiều trang web để giải quyết lỗi này, nhưng tôi đã không thành công.
Xin cảm ơn trước.
Dưới đây là đoạn code tôi đã sử dụng ...
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;
Cám ơn response.i đã cố gắng trên cho biết trang web nhưng có vẻ như không có ví dụ cho Delphi. –
@ user2531352 sử dụng Google - xem chỉnh sửa của tôi – mjn
Cảm ơn. Tôi đã sử dụng điều đó nhưng vi phạm quyền truy cập khi khởi động. –