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. >