Font
[thread]7648[/thread]

xml-writer



<< |< 1 2 >| >> 11 entries, 2 pages
guest Gast
 2006-01-25 12:39
#62210 #62210
schönen guten Tag allerseits!

ich probiere schon den ganzen Morgen den XML-Writer zu verwenden und scheitere mal wieder kläglich ;-(

man hat mir den Auftrag gegeben aus einer Datei mit folgendem Aufbau eine XML Datei zu generieren

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
'Komponente' = {
Grafikkarte => {
ram_in_mb => '128';
schnittstelle => 'agp';
etc....
}

Soundkarte => {
hersteller => 'AC97';
schnittstelle => 'pci';
etc....
}


}


wie beschrieben wollte ich das ganze mit dem XML::Writer Modul durchführen.

und mein Versuch sah so aus:


Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
use XML::Writer;
use IO::File;

my $if = new IO::File;
$if->open("< daten.pl")

my $writer = new XML::Writer(OUTPUT => $if);
$writer->startTag("Komponente")
$writer->endTag("Komponente");
$writer->end();
$output->close();


aber irgendwie steht garnichts im XML-Dokument,
was mach ich denn schon wieder falsch? ;-(

vielen Dank schonmal im Voraus


Gruß Oblivion
renee
 2006-01-25 13:01
#62211 #62211
User since
2003-08-04
14371 articles
ModeratorIn
[Homepage] [default_avatar]
Code: (dl )
1
2
 my $if = new IO::File;
$if->open("< daten.pl")


Du oeffnest die Datei zum lesen. Es muesste ein '>' sein... Ist die Dateiendung .pl gewollt??
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
renee
 2006-01-25 13:03
#62212 #62212
User since
2003-08-04
14371 articles
ModeratorIn
[Homepage] [default_avatar]
Ausserdem fehlen ein paar ';' in dem oben geposteten Code...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
pq
 2006-01-25 13:13
#62213 #62213
User since
2003-08-04
12208 articles
Admin1
[Homepage]
user image
mit "use warnings" hätte dir perl vermutlich verraten, was der fehler ist.
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
oblivion
 2006-01-25 13:14
#62214 #62214
User since
2006-01-17
24 articles
BenutzerIn
[default_avatar]
hi renee,

ja pl, ist gewollt. Ich muss die Daten aus dem Skript in xml packen und habe garkeine Ahnung, wie das funktionieren soll.

der Inhalt der xml Datei ist immer leer.

spielt es eine rolle ob in dem xml dokument ein Doctype angegeben wird?


habe auch #! /usr/bin/perl -w

eingestellt. einen Fehler bekomme ich auch nicht, ich habe wie gesagt nichts im XML-Dokument stehen, obwohl sie erstellt wird\n\n

<!--EDIT|oblivion|1138188015-->
renee
 2006-01-25 13:22
#62215 #62215
User since
2003-08-04
14371 articles
ModeratorIn
[Homepage] [default_avatar]
jepp, Wiki:use strict und use warnings haetten Dir den Fehler gesagt...

Es muss statt
Code: (dl )
 $output->close();
Code: (dl )
 $if->close();
heissen
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
oblivion
 2006-01-25 14:36
#62216 #62216
User since
2006-01-17
24 articles
BenutzerIn
[default_avatar]
ups ich Depp!

ok, jetzt steht zumindest <Komponente /> im xml Dokument,
aber das erzeugt er auch ohne, dass ich die Datei öffne.
renee
 2006-01-26 04:55
#62217 #62217
User since
2003-08-04
14371 articles
ModeratorIn
[Homepage] [default_avatar]
Wie meinst Du das "erzeugt auch ohne, dass ich die Datei oeffne"??
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
oblivion
 2006-01-26 09:50
#62218 #62218
User since
2006-01-17
24 articles
BenutzerIn
[default_avatar]
Guten Morgen.

sorry, da hab ich mich wohl unklar ausgedrückt. Also ich möchte ja diese Datei daten.pl einlesen und mir jeden Hash mit Keys und Values als XML ausgeben lassen.

Da ich aber
Code: (dl )
1
2
startTag(' Komponente ') 
sowie endTag(' Komponente ')

geschrieben habe, erzeugt perl mir anscheinend auf jeden Fall den Eintrag <Komponente />, egal ob ich vorher einen Lesezugriff auf daten.pl erstelle, oder nicht\n\n

<!--EDIT|oblivion|1138261857-->
Crian
 2006-01-26 16:10
#62219 #62219
User since
2003-08-04
5871 articles
ModeratorIn
[Homepage]
user image
Es ist ungeschickt, eine Datendatei im XML-Format mit der Endung .pl (was gängiger Weise für Perlskripte steht) statt mit .xml (was die Standardabkürzung für XML-Dateien ist) zu versehen.

Der Doctype spielt vielleicht später eine Rolle aber noch nicht beim Erzeugen der XML-Datei. Allerdings kenn ich das Modul, das du da einsetzt, nicht.
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
<< |< 1 2 >| >> 11 entries, 2 pages



View all threads created 2006-01-25 12:39.