AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein XML Fehlermeldung beim Erstellen einen neuen XML-Dokument
Thema durchsuchen
Ansicht
Themen-Optionen

Fehlermeldung beim Erstellen einen neuen XML-Dokument

Ein Thema von tobu · begonnen am 30. Mär 2005 · letzter Beitrag vom 31. Mär 2005
Antwort Antwort
tobu

Registriert seit: 16. Mär 2005
22 Beiträge
 
Delphi 2006 Enterprise
 
#1

Fehlermeldung beim Erstellen einen neuen XML-Dokument

  Alt 30. Mär 2005, 13:07
Ich habe folgenden Code für das Erzeugen eines neuen XMl-Dokumentes:
Delphi-Quellcode:
procedure TForm1.Neu1Click(Sender: TObject);
var
  NewXMLDoc : IXMLDocument;
  Prolog : TStrings;
begin
  NewXMLDoc := TXMLDocument.Create(self);
  Prolog := TStringList.Create;

  Prolog.Insert(0,'<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>');
  Prolog.Insert(1,'<?xml-stylesheet href="style.xsl" type="text/xsl"?>');
  Prolog.Insert(2,'<!DOCTYPE SQLDatei [');
  Prolog.Insert(3, '');
  Prolog.Insert(4, #9 + '<!ELEMENT SQLDatei (Script+)>');
  Prolog.Insert(5, #9 + '');
  Prolog.Insert(6, #9 + '<!ELEMENT Script (Beschreibung,Befehl)>');
  Prolog.Insert(7, #9 + '<!ELEMENT Beschreibung (#PCDATA)>');
  Prolog.Insert(8, #9 + '<!ELEMENT Befehl (#PCDATA)>');
  Prolog.Insert(9, #9 + '<!ATTLIST Script');
  Prolog.Insert(10, #9 + #9 + 'DB-Typ (SQL-Sever | Oracle)   #REQUIRED');
  Prolog.Insert(11, #9 + #9 + 'Nummer   CDATA   #REQUIRED');
  Prolog.Insert(12, #9 + #9 + 'Author   CDATA   #REQUIRED');
  Prolog.Insert(13, #9 + '>');
  Prolog.Insert(14, #9 + ']>');
  Prolog.Insert(15,'<SQLDatei>');
  Prolog.Insert(16, #9 + '<Script DB-Typ="SQL-Server" Nummer="1" Author="CD">');
  Prolog.Insert(17, #9 + #9 + '<Beschreibung>Neue Beschreibung eintragen</Beschreibung>');
  Prolog.Insert(18, #9 + #9 + '<Befehl>Neues SQL-Script eintragen</Befehl>');
  Prolog.Insert(19, #9 + '</Script>' );
  Prolog.Insert(20, '</SQLDatei>');

  NewXMLDoc.XML := Prolog;
  NewXMLDoc.Active := true;

  SaveDialog1.Filter := 'XML-Document (*.xml)|*.XML';

  if SaveDialog1.Execute then
    NewXMLDoc.FileName := SaveDialog1.FileName;

  NewXMLDoc.SaveToFile(NewXMLDoc.FileName + '.xml');

  XMLDoc.FileName := NewXMLDoc.FileName;
  XMLDoc.Active := true;
  Lesen(0);
end;
Leider bekomme ich immer an der Stelle XMLDoc.Active := true die folgende Fehlermeldung:

Im Projekt ist eine Exception der Klasse EDOMParseError aufgetreten. Meldung:'System error: -2146697210.
Linie:0
'. Prosess wurde angehalten.

Die Funktion Lesen liest den Knoten mit Index 0 des XML-Dokumentes.
Das XML-Dokument wurde aber erstellt und ich kann mir es anzeigen lassen ohne das Fehlermeldungen auftreten. Hat von euch vieleicht jemand eine Idee?
  Mit Zitat antworten Zitat
Michael_Bayer

Registriert seit: 20. Mär 2005
137 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Fehlermeldung beim Erstellen einen neuen XML-Dokument

  Alt 30. Mär 2005, 13:10
Ich würde sagen die Lesen ist kaputt
  Mit Zitat antworten Zitat
tobu

Registriert seit: 16. Mär 2005
22 Beiträge
 
Delphi 2006 Enterprise
 
#3

Re: Fehlermeldung beim Erstellen einen neuen XML-Dokument

  Alt 30. Mär 2005, 13:12
Klasse Kommentar, danke für die wirklich brauchbare Hilfe.
  Mit Zitat antworten Zitat
Benutzerbild von jim_raynor
jim_raynor

Registriert seit: 17. Okt 2004
Ort: Berlin
1.251 Beiträge
 
Delphi 5 Standard
 
#4

Re: Fehlermeldung beim Erstellen einen neuen XML-Dokument

  Alt 30. Mär 2005, 14:52
1. Was ist XMLDoc?
2. Muss bei XMLDoc nicht noch ein LoadFromFile rein?
3. Warum arbeitest du nicht direkt mit XMLDoc?
Christian Reich
Schaut euch mein X-COM Remake X-Force: Fight For Destiny ( http://www.xforce-online.de ) an.
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Fehlermeldung beim Erstellen einen neuen XML-Dokument

  Alt 30. Mär 2005, 15:02
Uns fehlen generell die refenzierten Dateien, wie z.B. das StyleSheet, um es testen zu können. Aber einen Tipp habe ich, nutze anstatt Insert(X, ''); lieber einfach ein Add('');, das ist schneller und flexibler

......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
tobu

Registriert seit: 16. Mär 2005
22 Beiträge
 
Delphi 2006 Enterprise
 
#6

Re: Fehlermeldung beim Erstellen einen neuen XML-Dokument

  Alt 31. Mär 2005, 08:27
@ jim_raynor: XMLDoc ist die TXMLDocument Komponente von Form1, die kann ich nicht benutzten, denn es könnte ja sein dort schon eine andere XML-Datei drin steht.
@ sakura: Ich habe jetzt das Add benutzt, ich hab gedacht das würde nur geht wenn schon was in der StringList steht. Funktioniert aber wunderbar.

@ all: Danke für die Tipps, ich habe den Fehler gefunden.

Der Fehler war in der Zuweisung des Filename es muss heißen:
Delphi-Quellcode:
//Speichern des neuen XML-Dokument
  SaveDialog1.Filter := 'XML-Document (*.xml)|*.XML';

  if SaveDialog1.Execute then
    NewXMLDoc.FileName := SaveDialog1.FileName + '.xml';

  NewXMLDoc.SaveToFile(NewXMLDoc.FileName);

  XMLDoc.FileName := NewXMLDoc.FileName;
  XMLDoc.Active := true;
Jetzt läuft es ohne Probleme.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:02 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz