User since
2003-08-04
14371
Artikel
ModeratorIn
Mach:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#! /usr/bin/perl
use strict;
use warnings;
use DBI;
use XML::Writer;
use IO::File;
my $output = new IO::File(">output.xml"); die $! unless($output);
my $writer = new XML::Writer(OUTPUT => $output);
my $dbh = DBI->connect("DBI:CSV:f_dir=C:/;csv_sep_char=\\;") or die $DBI::errstr;
$dbh->{'csv_tables'}->{'info'} = { 'file' => 'info2.csv'};
my $sth = $dbh->prepare("SELECT * FROM info");
$sth->execute();
my @names = @{$sth->{NAME}};
$writer->startTag('Entries');
while(my @row = $sth->fetchrow_array()){
$writer->startTag('Entry');
$writer->characters("\n");
for(0..$#names){
$writer->startTag($names[$_]);
$writer->characters($row[$_]);
$writer->endTag($names[$_]);
$writer->characters("\n");
}
$writer->endTag('Entry');
}
$writer->endTag('Entries');
$sth->finish();
$dbh->disconnect();
$writer->end();
$output->close();
Jetzt sollte es funktionieren...
User since
2005-01-25
23
Artikel
BenutzerIn
langsam wirds. jetzt stimmt nur noch das xml noch nicht so ganz
<Entries><Entry>
<Überschrift1 Überschrift2>Wer1 wert 2 ....</Überschrift1 Überschrift2 ...>
</Entry>....</Entries>
User since
2003-08-04
14371
Artikel
ModeratorIn
Dann scheint aber was mit der CSV-Datei nicht zu stimmen... Ich habe hier ein Probe-XML generiert, da hat es einwandfrei funktioniert...
Mach doch mal
use Data::Dumper; # das kommt nach use strict; und use warnings;
print Dumper(\@names); # nach my @names = [...]
Und schau Dir am besten nochmal die CSV-Datei an...
User since
2005-01-25
23
Artikel
BenutzerIn
wie soll das csv denn aussehen ?
weil meins sieht in etwa so aus:
Überschrift1 Überschrift2 Ü3 ...
Wert1 Wert2 Wert3 ...
Wenn ich das von dir genannte einbinde gibt er mir auf der konsole $VAR1 = [ Überschrift1 Überschrift2 .... ]
User since
2003-08-04
14371
Artikel
ModeratorIn
Dann wäre der Seperator aber nicht ;, sondern das " " (Leerzeichen). Das musst Du auch im Perl-Code bei der DB-Verbindung angeben... Sonst werden die Spalten völlig falsch aufgeteilt...
User since
2005-01-25
23
Artikel
BenutzerIn
Okay habs mal auf tabulator angepasst jetzt funktionierts *freu*
Aber er macht mir nach jeder Zeile vom csv im xml leere tags.
also
<Ü1>wert1</Ü1> (erste zeile csv)
<Ün>wertn</Ü1>
<></>
<Ü1>wert1</Ü1> (nächste Zeile csv)
<Ün>wertn</Ü1>
<></>
wie kann ich die leertags jetzt noch vermeiden ?
okay bei mir im CSV kommt nach der letzten Überschrift noch 1 tab wenn ich das entferne gehts einwandfrei aber kann ich das irgendwie scriptmäßig abfragen und entfernen?\n\n
<!--EDIT|crypt0|1107349440-->
User since
2005-01-25
23
Artikel
BenutzerIn
jap funktioniert.
Danke an alle die sich hier beteiligt haben.
Besonderen Dank an renee.
Ihr seit die besten. :D
User since
2003-08-04
7321
Artikel
ModeratorIn
[quote=crypt0,02.02.2005, 14:13]Ihr seit die besten. :D[/quote]
sowieso! :)