Thema: Delphi XML-Datei öffnen

Einzelnen Beitrag anzeigen

Benutzerbild von KahPee
KahPee

Registriert seit: 12. Mai 2009
214 Beiträge
 
Turbo Delphi für Win32
 
#1

XML-Datei öffnen

  Alt 9. Mai 2011, 15:00
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

Geändert von KahPee ( 9. Mai 2011 um 15:04 Uhr)
  Mit Zitat antworten Zitat