Sto sviluppando un'applicazione multipiattaforma (per Windows, Mac ecc.) E per macchine a 32 e 64 bit. Ho molti file XML che ho bisogno di convalidare con il loro XSD.Convalida file XML contro XSD in FireMonkey
C'è qualche modo per farlo in Delphi XE3?
Ho provato la convalida DTD ma ricevo sempre un errore "DTD proibito". Ho anche provato soluzioni menzionate su molti siti Web per risolvere questo errore, ma non ho avuto successo.
Grazie in anticipo.
Di seguito è il codice che ho usato ...
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;
Grazie per response.i hanno provato su detto sito web, ma sembra che ci sia alcun esempio per Delphi. –
@ user2531352 utilizzare Google - vedere la mia modifica – mjn
Grazie. Ho usato questo, ma ottenendo violazioni di accesso all'avvio. –