Merhaba,
Basit bix XML dosyasından verileri alıp HTML dosyası oluşturan bir perl scripti paylaşmak istiyorum.
Öncelikle XML dosyasını alttaki şekilde fooxml.xml dosyası olarak oluşturalım.
<config logfiles="/var/log/foologs/" debugfile="/tmp/foo.dbg" misc="mytest">
<server name="ankara" osname="unix" osversion="2.6.5.3">
<ipaddress>
<address>10.1.0.101</address>
<address>10.1.1.102</address>
</ipaddress>
<macaddress>
<address>10:54:E5:12:43:A4:E2:21</address>
<address>10:54:E5:12:45:A4:A4:41</address>
</macaddress>
</server>
<server name="istanbul" osname="linux" osversion="6.6.5.3">
<ipaddress>
<address>10.16.0.105</address>
<address>10.16.1.106</address>
</ipaddress>
<macaddress>
<address>10:54:E5:12:43:A4:B2:31</address>
<address>10:54:E5:12:43:E4:6Y:65</address>
</macaddress>
</server>
</config>
Yukarıda gösterile XML dosyasını parse edecek scriptimizi perl ile oluşturacağız. Dosya ismi fooxmlparser.pl ve içeriği alttaki gibi olsun.
#!/usr/bin/perl
###Gerekli XML kutuphaneleri
use XML::Simple qw(:strict);
use Data::Dumper;
###XML dosyasini parse edip ekrana bastiralim
my $config = XMLin("C:\\Otomasyon\\PerlXMLparser\\fooxml.xml", KeyAttr => { server => 'name' }, ForceArray => [ 'server', 'address' ]);
print "Parse Edilecek XML Ciktisi : \n\**********\n";
print Dumper($config);
print "\n*************\n";
###Config icinde tanimli degerleri almaniz gerekirse alttakileri kullanabilirsiniz.###
#print $config->{logdir};
#print "\n";
#print $config->{debugfile};
#print "\n";
#print $config->{misc};
###HTML dosyasina yazacagimiz degiskenlere atama yapalim
my $srvankara="ankara";
my $srvankaraip1 = $config->{server}->{ankara}->{ipaddress}->{address}->[1];
my $srvankaramac1 = $config->{server}->{ankara}->{macaddress}->{address}->[1];
my $srvistanbul="istanbul";
my $srvistanbulip1 = $config->{server}->{istanbul}->{ipaddress}->{address}->[1];
my $srvistanbulmac1 = $config->{server}->{istanbul}->{macaddress}->{address}->[1];
###HTML dosyasina yazacagimiz degiskenleri ayrica ekrana bastiralim
print "Server : ANKARA\n\n";
print "IP Address 1: ";
print $config->{server}->{ankara}->{ipaddress}->{address}->[1];
print "\n\n";
print "MAC Address 1: ";
print $config->{server}->{ankara}->{macaddress}->{address}->[1];
print "\n";
print "Server : ISTANBUL\n\n";
print "IP Address 1: ";
print $config->{server}->{istanbul}->{ipaddress}->{address}->[1];
print "\n\n";
print "MAC Address 1: ";
print $config->{server}->{istanbul}->{macaddress}->{address}->[1];
print "\n\n\n";
###HTML dosya içeriğini oluşturalım
print "HTML Ciktisi : \n\n";
print "<html>\n\n<meta>\n<title>XML Ciktisi</title>\n</meta>\n\n<body>\n\n<table>";
print "\n<tr><td>".$srvankara."</td></tr>";
print "\n<tr><td>".$srvankaraip1."</td></tr>";
print "\n<tr><td>".$srvankaramac1."</td></tr>";
print "\n<tr><td>".$srvistanbul."</td></tr>";
print "\n<tr><td>".$srvistanbulip1."</td></tr>";
print "\n<tr><td>".$srvistanbulmac1."</td></tr>\n</table>\n\n</body>\n</html>";
Yazılım Geliştirme. Otomasyon. Web & Mobil Yazılım Geliştirme. WebServis & RestApi Uygulamaları. Sunucu ve Network Otomasyon Yazılımları.
perl xml parser etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
perl xml parser etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
28 Aralık 2014 Pazar
Kaydol:
Kayıtlar (Atom)