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.

Reply via email to