One thing forget to mention in the 2nd case I  only able to print the value
of id after removing of *xn: *from the beginning of the line.NO print for
gci_sai and locationNumber .

On Wed, Sep 5, 2012 at 8:26 PM, Anirban Adhikary <anirban.adhik...@gmail.com
> wrote:

> 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