Zajmuję się tworzeniem aplikacji wieloplatformowych (dla Windows, Mac itd.) Oraz dla maszyn 32-bitowych i 64-bitowych. Mam wiele plików XML, które muszę sprawdzić na ich XSD.Sprawdzanie poprawności plików XML przed XSD w FireMonkey
Czy jest jakiś sposób robienia tego w Delphi XE3?
Próbowałem sprawdzania DTD, ale zawsze otrzymuję błąd "DTD zabronione". Próbowałem również rozwiązań wymienionych na wielu stronach internetowych w celu rozwiązania tego błędu, ale nie miałem żadnych sukcesów.
Z góry dziękuję.
Poniżej znajduje się kod Użyłem ...
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;
Dzięki za response.i próbowali na wspomnianej stronie internetowej, ale wydaje się, że nie jest przykładem dla Delphi. –
@ user2531352 użyj Google - zobacz moją edycję – mjn
Dzięki. Użyłem tego, ale otrzymuję naruszenia dostępu podczas uruchamiania. –