Hallo,
ich habe ein Problem beim Öffnen einer
XML-Datei. Bisher habe ich immer alles auf Basis des
Tutorials von Christopher Harms gemacht. Ich habe eine Prozedur geschrieben die eine
XML-Datei nach dem, in dem Tutorial beschriebenen Schema öffnet, Der Rückgabewert gibt an ob die Datei geöffnet werden konnte:
Delphi-Quellcode:
function OpenXMLFile(Filename:
string;
var xmlDoc: IXMLDOMDocument2): boolean;
begin
Result:=false;
xmlDoc:= CoDOMDocument40.Create;
xmlDoc.setProperty('
NewParser', true);
if not FileExists(FileName)
then
Result:=false
else
begin
xmlDoc.load(FileName);
if xmlDoc.parseError.errorCode <> 0
then
begin
MessageDlg('
The XML-File is damaged and could not be opened.'+#13+'
('+Filename+'
)',mtError, [mbOK], 0);
Result:=false;
end
else Result:=true;
end;
end;
Der Anfang der zu öffnenden Datei sieht so aus:
Code:
<?
xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist SYSTEM "http://www.apple.com/DTDs/PropertyList-1.0.dtd" PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN">
<plist version="1.0">
<dict>
<key>Major Version</key>
<integer>1</integer>
<key>Minor Version</key>
<integer>1</integer>
<key>Application Version</key>
<string>10.2.1</string>
<key>Features</key>
<integer>5</integer>
...
Ich habe mal den parseError.reason abgefangen der besagt folgendes:
Code:
DTD Validation when using the NewParser option or MXXMLWriter to build a DOMDocument is not supported
parseError.line ist "2"
Wo liegt der Fehler?
Vielen Dank im vorraus!
KahPee