Hallo,
ich habe eine Frage bzgl.
XML::Simple.
In meinem Szenario geht es darum, dass ich eine Anfrage an einen Server sende und die Antwort, welche im XML ist, mit
XML::Simple weiter verarbeiten muss.
Die Antwort des Server hat folgende Darstellung:
<OpenResp ommStbState="None" ommVersion="OpenMobility Manager SIP-DECT" EULAConfirm="1" ommPlatform="rfp" haveLicensing="1" haveLocating="1" haveAutoDB="1" haveLDAP="1"
haveDECTRegDomain="1" haveDigitTreatment="1" haveExternalUserData="1" haveFACs="1" haveEnrolmentRFP="1" haveEnrolmentPP="1" haveIMA="1" havePagingAreas="1" haveVLAN="1" haveWLAN="1"><permission>AllCnfRead</permission><permission>AllCnfWrite</permission><permission>Messaging</permission><permission>InfoMessaging</permission><permission>Monitoring</permission>
</OpenResp>
Und genau diese Antwort möchte ich insgesamt in einer Variable speichern und selektiv auswerten.
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
35
36
37
38
39
#################################
#!/usr/bin/perl -w
use strict; # declare the info before use
#################################
# packages
################################
use IO::Socket::SSL; # TCP/IP sockets
use XML::simple;
##################
# parameter declaration
##################
my $refXML;
my $tempXML;
my $host = '192.168.1.15';
my $port = 12431; # selected-Port
my $uname = "foobar";
my $pw = "foobarPW";
my $protoVer = "31"; # Protocol Version
my $sock = IO::Socket::SSL->new("$host:$port");
#########################
# main procedures
# output
##########################
##################################
# commands
system("clear"); # refresh the console
###############################
print "Sandbox Environment\n";
$sock->print(qq{<Open seq="150" protocolVersion=$protoVer username="$uname" password="$pw"/>\0});
$tmpXML=print<$sock>; # Zwischenspeichern
$refXML=XMLin($tmpXML); # in Variable speichern
exit (0);