Moin Moin.
XML > XSD parsen.
Code:
function Validate_XML(xmlFile:String): Boolean;
var
XMLDocument: TXMLDocument;
T0,T1,T2,T3,T4:String;
begin
XMLDocument := TXMLDocument.Create(nil) ;
XMLDocument.ParseOptions := [poResolveExternals, poValidateOnParse];
Result := True;
try
XMLDocument.LoadFromFile(xmlFile) ;
XMLDocument.Active := true;
except
on E: EDomParseError do
begin
If E.ErrorCode = -2146697210 then
begin
Application.MessageBox(Pchar(E.Message),Pchar('Validierungsfehler'),16);
end;
end;
end;
end;
Beim auftreten eines EDomParseErrors bricht der Parser ab und Schluß. Eine Fehlermeldung (Reason/Message) gibt es auch, nett.
Ich konnte jetzt nichts finden um mehrere Fehler zu sammeln, damit man die Fehlermeldungen speichern und anschließend abarbeiten kann. Gibt es das nicht? MultipleParseError meine ich mal gelesen zu haben.
Oder gibt's einen Tipp wie man das machen könnte? Auf extra Komponenten oder Erweiterungen würde ich gerne verzichten.
creehawk