Hi List,
I have a XML file which looks like as follows
<ISProducts>
<StoreInfo>
<BSC id="AMIBRB1">
<ALPHA>10</ALPHA>
<AMRCSFR3MODE>1,3,4,7</AMRCSFR3MODE>
<AMRCSFR3THR>12,16,21</AMRCSFR3THR>
<AMRCSFR3HYST>2,3,3</AMRCSFR3HYST>
<AMRCSFR4MODE>1,3,6,8</AMRCSFR4MODE>
<AMRCSFR4THR>12,17,25</AMRCSFR4THR>
<PAGBUNDLE>50</PAGBUNDLE>
<USERDATA>AMI_BRANLY_B_1</USERDATA>
</BSC>
.........................
.............................
And I am ble to parse it using XML::TWIG
use strict;
use warnings;
use XML::Twig;
my $twig = XML::Twig->new(TwigHandlers => {
BSC => \&on_BSC
});
sub on_BSC {
my($twig, $bsc)= @_;
print $bsc->id, "\n";
my $alpha = $bsc->field('ALPHA');
print $alpha, "\n";
$twig->purge;
}
$twig->parsefile(ISProducts.xml');
I am able to print the value against the ALPHA tag.
Now in the case of following XML file
<xn:VsDataContainer id="20408112016662">
<xn:attributes>
<xn:vsDataType>vsMscServerCell</xn:vsDataType>
<xn:vsDataFormatVersion>vsData1.0</xn:vsDataFormatVersion>
<xn:vsMscServerCell>
<xn:callSourceName>RADIO-IU</xn:callSourceName>
<xn:cellGrpName>INVALID</xn:cellGrpName>
<xn:cellType>3GCell</xn:cellType>
<xn:gci_sai>20408112016662</xn:gci_sai>
<xn:iDPLNAA>IDN</xn:iDPLNAA>
<xn:ifCallIn>NO</xn:ifCallIn>
<xn:ifCallOut>NO</xn:ifCallOut>
<xn:ifRoamAnalysis>NO</xn:ifRoamAnalysis>
<xn:isEarlyAssign>EARLYASN</xn:isEarlyAssign>
<xn:laDegree>0</xn:laDegree>
<xn:laMinute>0</xn:laMinute>
<xn:laSecond>0</xn:laSecond>
<xn:laiCategory>SAI</xn:laiCategory>
<xn:laiType>HVLR</xn:laiType>
<xn:latitudeType>NOR</xn:latitudeType>
<xn:lgDegree>0</xn:lgDegree>
<xn:lgMinute>0</xn:lgMinute>
<xn:lgSecond>0</xn:lgSecond>
<xn:locationIDName>INVALID</xn:locationIDName>
<xn:locationNumber>117047007000000</xn:locationNumber>
<xn:locationNumberName>INVALID</xn:locationNumberName>
<xn:longitudeType>EAST</xn:longitudeType>
<xn:mnc>FFF</xn:mnc>
<xn:mscNumber>316530320000</xn:mscNumber>
<xn:multiAreaStatName>AHPTMS1</xn:multiAreaStatName>
<xn:radius>0</xn:radius>
<xn:rncId1>112</xn:rncId1>
<xn:svrName>AHPTMS1</xn:svrName>
<xn:tZDSTName>INVALID</xn:tZDSTName>
<xn:toneName>INVALID</xn:toneName>
<xn:vlrNumber>316530320000</xn:vlrNumber>
</xn:vsMscServerCell>
</xn:attributes>
</xn:VsDataContainer>
I am using the same code to print the values it shows nothing in the
screen
use strict;
use warnings;
use XML::Twig;
my $twig = XML::Twig->new(TwigHandlers => {VsDataContainer =>
\&on_VsDataContainer});
sub on_VsDataContainer {
my($twig, $dc)= @_;
print $dc->id, "\n";
my $gci_sai = $dc->field('gci_sai');
print $gci_sai,"\n";
my $locationNumber = $dc->field('locationNumber');
print $locationNumber,"\n";
$twig->purge;
}
$twig->parsefile("C:/Users/eamasar/Desktop/xnm/data/WA07B/input/MSCServerCell_201209050400.E2G.xml");
ANd when I am removing the xn: from the begining of the line from XML file
it prints the values on screen.
Thanks & Regards in advance
Anirban Adhikary.