Thema: Delphi von XML in Tabelle

Einzelnen Beitrag anzeigen

Benutzerbild von semo
semo

Registriert seit: 24. Apr 2004
755 Beiträge
 
Delphi 2010 Professional
 
#27

Re: von XML in Tabelle

  Alt 10. Dez 2004, 15:45
@sakkura

Code:
 // XML Datei laden
  XMLDoc.load('smiley.xml');

  // Fehler überprüfen
  if XMLDoc.parseError.errorCode <> 0 then
  begin
    ShowMessage('XML Fehler: '#13#10 + XMLDoc.parseError.reason);
    Exit;
  end;
wenn die datei nicht geladen werden kann aufgrund eines fehlers in der wohlgeformtheit, dann sollte man den fehler direkt in diesem schritt abfragen.

beispiel:

Code:
    if not xmlDoc.load(sDateiname) then
    begin
      // prüfen ob XML-File "wohlgeformt" ist:
      If xmlDoc.parseerror.errorCode <> 0 then
      begin
        // eine ausführliche Fehlermeldung zusammenstellen:
        sError := Format( 'XML-Datei %s ist nicht wohlgeformt --> Abbruch ||| ' +
                          'Code:   ' + ' %d +++ ' +
                          'Reason: ' + ' %s +++ ' +
                          'URL:    ' + ' %s +++ ' +
                          'SrcText: ' + ' %s +++ ' +
                          'Line:   ' + ' %d +++ ' +
                          'LinePos: ' + ' %d +++ ' +
                          'FilePos: ' + ' %d',
                          [sDateiname,
                          xmlDoc.parseerror.Get_errorCode,
                          xmlDoc.parseerror.Get_reason(),
                          xmlDoc.parseerror.Get_url,
                          xmlDoc.parseerror.Get_srcText,
                          xmlDoc.parseerror.Get_line,
                          xmlDoc.parseerror.Get_linepos,
                          xmlDoc.parseerror.Get_filepos]);

        WriteToLogFile(sError);
        if Assigned(aErrorProc) then
          aErrorProc( 'XML-File ' + sDateiname + ' ist nicht wohlgeformt und ' +
                      'konnte deshalb nicht geladen werden!');
        Exit;
      end else
      begin
        if Assigned(aErrorProc) then
          aErrorProc('XML-Datei ' + sDateiname + ' nicht vorhanden!');
        exit;
      end;
    end else
      if Assigned(aInfoProc) then
        aInfoProc('XML-Datei ' + sDateiname + ' erfolgreich geladen!');
  Mit Zitat antworten Zitat