![]() |
XML Databinding
Eine Frage an die Wissenden:
ich habe mir über den XML-Datenbindung Wizard und einer XML Datei als Vorlage alle nötigen und verwendeten Klassen generieren lassen (Delphi XE2). Auch das Erzeugen eines TXML-Dokumentes hat gut funktioniert. Jetzt möchte ich über eine Schleife ein vorliegendes Excel Datenblatt in eine XML-Datei umwandeln, also eine XML Datei völlig neu befüllen. Mein Problem ist jetzt, dass beim Aufruf der Schleife die entsprechenden Knoten nur einmal erzeugt werden und ich habe keine Ahnung - wieso. Die Alternative wäre jetzt die Datenstruktur per Hand aufzubauen ,aber damit wäre ja der Wizard sinnlos. Iregndwie habe ich den Eindruck, dass beim 2. Schleifendurchgang die Knoten nicht mehr neu erzeugt werden - vielleicht gibt es jemanden mit ähnlichen Erfahrungen. Ich bin für jeden Tipp unendlich dankbar Der Quelltext ist wie folgt:
Delphi-Quellcode:
Procedure Schreib_Admindaten;
Begin Cond.Admindaten.Liegenschaft.Liegenschaftsnummer:=9999; Cond.Admindaten.Verwaltung.Zustaendigkeit:=0; Cond.Admindaten.Verwaltung.Abwasserbeseitigungspflicht:=0; Cond.Admindaten.Verwaltung.Kommentar:='kein Kommentar'; End; Procedure Schreib_Datenkollektiv; Begin Cond.Datenkollektive.Datenstatus:=2; //nachschauen, was heißt 2 Cond.Datenkollektive.Erstellungsdatum:=Daten.Sheet[0].AsString[0,Zei]; Cond.Datenkollektive.Kennungen.Kollektiv.Kennung:=''; Cond.Datenkollektive.Kennungen.Kollektiv.Kollektivart:=2; Cond.Datenkollektive.Kennungen.Kollektiv.Zustandsdaten.Inspektion:=1; Cond.Datenkollektive.Kennungen.Kollektiv.Zustandsdaten.Dichtheit:=0; Cond.Datenkollektive.Kennungen.Kollektiv.Zustandsdaten.Film:=1; Cond.Datenkollektive.Kennungen.Kollektiv.Regelwerk:=2; Cond.Datenkollektive.Kennungen.Kollektiv.Bearbeitungsstand:=Daten.Sheet[0].AsString[0,Zei];; End; begin XMLDoc.FileName:='C:\temp\leer.xml'; Cond:=GetIdentifikation(XMLDoc); //Anmerkung: "IDENTIFIKATION" ist der erste Knoten Label1.Caption:=Cond.Xmlns; Cond.Version:='2006-10'; //Excelsheet abarbeiten //Testhalber 10 Schächte schreiben for i := 0 to 10 do Begin Schreib_Admindaten; Schreib_Datenkollektiv; end; Xmldoc.SaveToFile('C:\temp\002.xml'); |
AW: XML Databinding
Du erzeugst auch keine neue Knoten, sondern änderst nur die Werte in dem vorhandenen Knoten
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:42 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz