Validando arquivos XML no XSD no FireMonkey
Estou desenvolvendo um aplicativo de plataforma cruzada (para Windows, Mac etc.) e para máquinas de 32 e 64 bits. Eu tenho muitos arquivos XML que eu preciso validar contra seusXSD.
Existe alguma maneira de fazer isso no Delphi XE3?
Eu tentei a validação de DTD, mas estou sempre recebendo um erro de "DTD proibido". Eu também tentei soluções mencionadas em muitos sites para resolver esse erro, mas não tive sucesso.
Desde já, obrigado.
Abaixo está o código que usei ...
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;