AGB  ·  Datenschutz  ·  Impressum  







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

XML Databinding

Ein Thema von Hoeh · begonnen am 16. Sep 2012 · letzter Beitrag vom 18. Sep 2012
Antwort Antwort
Hoeh

Registriert seit: 27. Dez 2005
Ort: Oberwart
3 Beiträge
 
Delphi XE6 Professional
 
#1

XML Databinding

  Alt 16. Sep 2012, 23:55
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');

Geändert von mkinzler (18. Sep 2012 um 07:51 Uhr) Grund: Delphi-Tag eingefügt
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: XML Databinding

  Alt 18. Sep 2012, 07:53
Du erzeugst auch keine neue Knoten, sondern änderst nur die Werte in dem vorhandenen Knoten
Markus Kinzler
  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 02:38 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