![]() |
XML-Datei gegen XSD validieren
Hallo!
Ich habe anhand mehrerer Threads in diesem Forum folgenden Code zum Einlesen, Validieren und Auslesen eines Wertes geschrieben:
Delphi-Quellcode:
Es funktioniert soweit auch ganz gut. Aber es werden alle wohlgeformten XML-Dateien durchgewinkt, egal
procedure TForm1.Button1Click(Sender: TObject);
var xmlDoc: IXMLDOMDocument2; xsd: IXMLDOMSchemaCollection2; viewer: IXMLDOMNodeList; begin xmlDoc := CoDOMDocument40.Create; xsd := CoXMLSchemaCache40.Create; xmlDoc.async := true; xmlDoc.resolveExternals := true; xmlDoc.validateOnParse := true; xsd.add('http://www.xbrl.org/german/ap/ci/2002-02-15','german_ap/german_ap.xsd'); xsd.validateOnLoad := true; xmlDoc.schemas := xsd; if OpenDialog1.Execute then begin xmlDoc.load(OpenDialog1.FileName); if xmlDoc.parseError.errorCode <> 0 then begin MessageDlg(xmlDoc.parseError.reason, mtError, [mbOK], 0); Application.Terminate; end; xmlDoc.SetProperty('SelectionNamespaces','xmlns:ns="http://www.xbrl.org/german/ap/ci/2002-02-15"'); viewer := xmlDoc.documentElement.selectNodes('ns:genInfo.doc.author'); Edit1.Text := viewer.item[0].text; Edit2.Text := viewer.item[0].attributes[0].text; end; end; ob sie dem Schema 'german_ap.xsd' entsprechen, oder nicht. Wie bekomm ich es hin, dass nur solche Dateien akzeptiert werden? Vielen Dank schonmal für die Antworten! Tobi |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:55 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz