Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
Delphi 7 Enterprise
|
Re: Nicht-Normalisierte Abfrage nach XML exportieren
25. Mär 2009, 01:13
Vielleicht so...
Delphi-Quellcode:
procedure CSVtoXML(Dateiname:string);
type TSpalte = (sKunde, sPNr, sMenge, sPreis);
var Quelle, Ziel:Textfile;
Zeile, oldKunde:string;
Values:array[TSpalte] of string;
Spalte:TSpalte;
Posi:integer;
begin
assignfile(Quelle, Dateiname);
assignfile(Ziel, ChangeFileExt(Dateiname, '.xml'));
try
reset(Quelle);
rewrite(Ziel);
oldKunde:='';
while not Eof(Quelle) do begin
readln(Quelle, Zeile);
for Spalte:=low(TSpalte) to high(TSpalte) do begin
Posi:=pos(';', Zeile);
if Posi = 0 then
Posi:=length(Zeile)+1;
Values[Spalte]:=copy(Zeile, 1, Posi-1);
delete(Zeile, 1, Posi);
end;
if oldKunde <> Values[sKunde] then begin
if oldKunde <> '' then
writeln(Ziel, '</Bestellung>');
oldKunde:=Values[sKunde];
writeln(Ziel, '<Bestellung>');
writeln(Ziel, ' <Kunde>' + Values[sKunde] + '</Kunde>');
end;
writeln(Ziel, ' <Bestellposition>');
writeln(Ziel, ' <Positionsnummer>' + Values[sPNr] + '</Positionsnummer>');
writeln(Ziel, ' <Menge>' + Values[sMenge] + '</Menge>');
writeln(Ziel, ' <Preis>' + Values[sPreis] + '</Preis>');
writeln(Ziel, ' </Bestellposition>');
end;
if oldKunde <> '' then
writeln(Ziel, '</Bestellung>');
finally
closefile(Quelle);
closefile(Ziel);
end;
end;
|
|
Zitat
|