AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

XML datei in DBGrid auslesen

Offene Frage von "eimo"
Ein Thema von eimo · begonnen am 6. Jan 2007 · letzter Beitrag vom 11. Jan 2007
Antwort Antwort
eimo

Registriert seit: 1. Dez 2006
8 Beiträge
 
Delphi 2006 Personal
 
#1

XML datei in DBGrid auslesen

  Alt 6. Jan 2007, 13:29
Grüße im neuen Jahr an alle DP-ler!

Ich habe unter .NET eine Anwendung geschrieben, die XML Dateien erzeugt und möchte sie mit WIN32 auslesen.
Dazu habe ich erstmal ein Miniprogramm geschrieben, das bei Aufruf eine vorhandene XML-Datei in einem DBGrid anzeigen soll. Mehr nicht.

Dabei bekomme ich immer eine Fehlermeldung:
XML Parse Error; Reason: The system cannot locate the resource specified.

Hier der Quelltext des OnCreate-Events:

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  XMLTransform1.SourceXMLFile := 'Auftrag3.xml';
  XMLTransform1.TransformationFile := 'ToDb.xtr';
// Bis hierhin läuft alles normal, dann kommt die Fehlermeldung
// XML Parse Error; Reason: The system cannot locate the resource specified.
  ClientDataSet1.XMLData := XMLTransform1.Data;
  ClientDataSet1.Active := true;
end;
Ich habe übrigens in dem Programm eine Form mit einem DBGrid1, dem ich im Objektinspektor als DataSource die DataSource1 zugewiesen habe, die DataSource1 hat als DataSet den ClientDataSet1, der ClientDataSet1 hat als ProviderName den XMLTransformProvider und der XMLTransformProvider als XMLDataFile den "Auftrag3.xml". Dazu gibt es ein XMLTransform1, das als TransformationFile die gemappte "FromXML.xtr" besitzt.

Jetzt die Fragen:

Liegt es daran, dass die Datei in .NET geschrieben wurde?
-IMHO "Nein", aber ich lasse mich gerne eines besseren belehren.

Welche Ressource kann nicht gefunden werden?
Und wichtiger:
Wie bekomme ich das Problem in den Griff?

Vielen Dank für Eure Mühen,
es grüßt der eimo
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: XML datei in DBGrid auslesen

  Alt 6. Jan 2007, 14:05
Gib mal die Dateien mit kompletter Pfadangabe an. Falls das nicht hilft vertausche die Reihenfolge.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#3

Re: XML datei in DBGrid auslesen

  Alt 6. Jan 2007, 14:11
Hallo eimo,

vielleicht wird die Datei wirklich nicht gefunden:

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var
  dir, fnXML, dnXSLT: String;
begin
  GetDir(0, dir);
  dir := IncludeTrailingPathDelimiter(dir);
  fnXML := 'Auftrag3.xml';
  fnXSLT := 'ToDb.xtr';
  if not FileExists(dir + fnXML) then
    ShowMessage(Format('Datei "%s%s" nicht gefunden', [dir, fnXML])) else
  if not FileExists(dir + fnXSLT) then
    ShowMessage(Format('Datei "%s%s" nicht gefunden', [dir, fnXSLT])) else
  begin
    XMLTransform1.SourceXMLFile := fnXML;
    XMLTransform1.TransformationFile := fnXSLT;
    ClientDataSet1.XMLData := XMLTransform1.Data;
    ClientDataSet1.Active := True;
  end;
end;
Neujahrsgrüße vom marabu
  Mit Zitat antworten Zitat
eimo

Registriert seit: 1. Dez 2006
8 Beiträge
 
Delphi 2006 Personal
 
#4

Re: XML datei in DBGrid auslesen

  Alt 6. Jan 2007, 14:16
Glaube nicht, dass es daran liegt könnte, denn die liegen im gleichen Ordner.

Hab aber in der Zwischenzeit das XML-File neu gemappt und den neuen Mapper unter einem anderen Namen abgespeichert, alle Bezüge geändert und jetzt klappt's. Weiß nicht, was beim ersten mappen anders gelaufen ist.http://www.delphipraxis.net/posting.php?mode=iframe Embarassed

Danke.
  Mit Zitat antworten Zitat
eimo

Registriert seit: 1. Dez 2006
8 Beiträge
 
Delphi 2006 Personal
 
#5

Re: XML datei in DBGrid auslesen

  Alt 11. Jan 2007, 16:27
Seltsam,

mein DBGrid nimmt liest das XML Dokument ein, stellt aber nur die erste Zeile dar. Im Browser sieht man alle Auftragspositionen, im Grid nur die erste.

XML-Code:
<Auftrag>
  <KNr></KNr>
  <ANr></ANr>
  <content>
    <APosNr></APosNr>
    <AufgNr></AufgNr>
    <Vorgänger />
    <Dauer></Dauer>
    <FAZ></FAZ>
    <SEZ></SEZ>
  </content>
</Auftrag>
Dachte zuerst, es liegt daran, dass ich die Positionen an die Auftragsnummer gehängt habe. Schließlich sind Kundennummer und Auftragsnummer ja Kopfdaten, und die wollte ich pro Auftrag nur einmal eingeben, aber jedesmal anzeigen lassen. Meine Überlegung dazu war, dass der Grid die nächste Zeile nicht einliest, da die KNr und ANr nicht nochmal erwähnt sind.
Habe darauf die KNr und ANr jedesmal mit angegeben und so die Struktur umgeändert in

XML-Code:
<Auftrag>
  <KNr></KNr>
  <ANr></ANr>
  <APosNr></APosNr>
  <AufgNr></AufgNr>
  <Vorgänger />
  <Dauer></Dauer>
  <FAZ></FAZ>
  <SEZ></SEZ>
</Auftrag>
aber der Fehler bleibt der gleiche, der Grid stellt nur die erste Datenzeile dar.

Hat jemand 'ne Idee, woran das liegen könnte?

MfG vom eimo
  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 20:06 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