#! /usr/bin/perl open INFILE, "JSONSample.json"; while (){ #print "\$_ = $_"; $line = $_; if ($line =~//){ }elsif($line =~/encoding/){ #print "skipping 222222222222222222222222222222 \n"; }elsif($line =~/PODVer1_1/){ print JSON "{"; }elsif($line =~//){ $righbracLoc=index($line,">")+1; $slashLoc=index($line, "/"); $length=$slashLoc-$righbracLoc-1; $elText=substr($line,$righbracLoc,$length); #print "\$elText = $elText\n"; #print OUTJSON "type: \"$elText\","; #print OUTJSON "\"type\": \"$elText\","; print JSON "\"\@type\": \"$elText\","; #print OUTJSON "done!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"; #title-------------------------------------------------- }elsif($line =~/title/){ #print "in the title !!!!!!!!!!!!!!!!!!!!!!!\n"; $leftBracket=index($line,"<"); $righbracLoc=index($line,">"); if ($line =~/TIGER/){ #print "dealing with TIGEr!!!!!!!!!!!!!!!!!!!!\n"; $slashLocA=index($line, "/"); $lengthA=$slashLocA-$righbracLoc+1; $elTextA=substr($line,$righbracLoc+1,$lengthA-1); $elTextB=substr($line,$slashLocA+1); $slashLocB=index($elTextB, "/")-1; $elTextC=substr($elTextB,0,$slashLocB); $elText = $elTextA . $elTextC; #print "dealing with TIGEr!!!!!!!!!!!!!!!!!!!!\n"; #print "\$elTextA = $elTextA (TIGER)\n"; #print "\$elTextB = $elTextB (TIGER)\n"; #print "\$elTextC = $elTextC(TIGER)\n"; }else{ $slashLoc=index($line, "/"); $length=$slashLoc-$righbracLoc; $elText=substr($line,$righbracLoc+1,$length-2); #print "\$elText = $elText (else)\n"; }; $elLength=$righbracLoc-$leftBracket-1; $elementMain=substr($line,$leftBracket+1, $elLength); #elLength=$righbracLoc-$leftBracket; $newElement= "\"" . $elementMain . "\":"; print JSON "$newElement \"$elText\","; #keyword---------------------------------------------------------------------------------------------------- }elsif($line =~/keyword/){ #print "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n"; if ($line =~/"); $slashLoc=index($line, "/"); $length=$slashLoc-$righbracLoc-2; $elText=substr($line,$righbracLoc+1,$length); #print "inserting the keyword: $elText\n"; print JSON"\"$elText\","; #elsif($line =~/\/keywordItem/){ #print "dealing with the end keywordItem tag \n"; #print JSON"]," }elsif($line =~/\/keyword/){ print JSON "],"; #print "dealing with $line (end tag)\n" }else{ print JSON "\"keyword\": ["; #print "dealing with $line (start tag)\n"; }; #print "-----------------------------------------------------------------------\n"; }elsif($line =~//){ print "dealing with the description!!!!!!!!!!!!!!!!!!!\n"; print "\$line = $line\n"; $endTagLoc=index($line,"<\/"); print "\$endTagLoc = $endTagLoc\n"; if ($endTagLoc <0){ $descComplete="no"; $lastbracLoc=index($line,">"); $descPart1 = substr($line,$lastbracLoc+1); print "\$descPart1 = $descPart1\n"; }else{ $lastbracLoc=index($line,">"); $descPart1 = substr($line,$lastbracLoc+1); $firstBracLoc=index($descPart1,"<"); $finDesc=substr($descPart1,0,$firstBracLoc-1); print JSON "\"description\": $finDesc,"; }; }elsif($descComplete eq "no"){ print "\$line = $line\n"; $lengthLine=length($line); print "\$lengthLine = $lengthLine\n"; if ($lengthLine>5){ $firstBracLoc=index($line,"<"); $finDesc=substr($line,0,$firstBracLoc-1); $completeDesc=$descPart1 . $finDesc; print JSON "\"description\": $completeDesc,"; $descComplete="yes"; }; }elsif($line =~/<\/publisher>/){ #print OUTJSON "},"; foreach $subOrgArray(@subOrgArray){ print JSON "$subOrgArray"; }; print JSON "},"; }elsif($line =~//){ print JSON "\"publisher\":{"; }elsif($line =~/name/){ $leftBracket=index($line,"<"); $righbracLoc=index($line,">"); $slashLoc=index($line, "/"); $length=$slashLoc-$righbracLoc-2; $elText=substr($line,$righbracLoc+1,$length); print JSON "\"name\": \"$elText\","; #subOrganization---------------------------------------------------- }elsif($line =~/subOrganizationOf/){ $leftBracket=index($line,"<"); $righbracLoc=index($line,">"); $slashLoc=index($line, "/"); $length=$slashLoc-$righbracLoc-2; $elText=substr($line,$righbracLoc+1,$length); $elLength=$righbracLoc-$leftBracket-1; $elementMain=substr($line,$leftBracket+1, $elLength); #elLength=$righbracLoc-$leftBracket; $newElement= "\"" . $elementMain . "\":{"; $subOrgName="\"name\":"; print JSON "$newElement $subOrgName \"$elText\","; $subOrgArray[$subOrgArrayCounter]="}"; $subOrgArrayCounter++; };#if ($line =~//){ };#while (){