A sample of the XML i am using#!/usr/bin/perl use XML::Simple; ######XML PARSE########## $xml = 'e:\cars\input.xml'; $config = XMLin($xml); $exportid = "$config->{Header}->{ExportID}"; $numveh = "$config->{Summary}->{NumberOfVehicles}"; $memid = "$config->{Header}->{MemberID}"; $auctionid = "$config->{Vehicle}[0]->{AuctionID}"; $make = "$config->{Vehicle}[0]->{Manufacturer}"; $model = "$config->{Vehicle}[0]->{Model}"; $reg = "$config->{Vehicle}[0]->{RegNo}"; $year = "$config->{Vehicle}[0]->{RegYear}"; $colour = "$config->{Vehicle}[0]->{Colour}"; $fueltype = "$config->{Vehicle}[0]->{Fuel}"; $damage = "$config->{Vehicle}[0]->{Damage}"; $doors = "$config->{Vehicle}[0]->{Doors}"; $cc = "$config->{Vehicle}[0]->{CC}"; $mileage = "$config->{Vehicle}[0]->{Speedo}"; $transpeed = "$config->{Vehicle}[0]->{TransSpeed}"; $trantype = "$config->{Vehicle}[0]->{TransType}"; $trim = "$config->{Vehicle}[0]->{TrimLevel}"; $abicat = "$config->{Vehicle}[0]->{Cat}"; $reserve = "$config->{Vehicle}[0]->{Reserveprice}"; $vat = "$config->{Vehicle}[0]->{HasVAT}"; if ($vat eq 1){$hasvat = "Yes"} else {$hasvat = "No"}; $xmlstarts = "$config->{Vehicle}[0]->{Starts}"; if ($xmlstarts eq 1){$starts = "Starts"} else {$starts = "Does Not Sta +rt"}; $xmldrives = "$config->{Vehicle}[0]->{Drives}"; if ($xmldrives eq 1){$drives = "Drives"} else {$drives = "Does Not Dri +ve"}; $xmlkeys = "$config->{Vehicle}[0]->{Keys}"; if ($xmlkeys eq 1){$keyssupplied = "yes"} else {$keyssupplied = "No"}; $image1 = "$config->{Vehicle}[0]->{Images}->{Image_1}"; $image2 = "$config->{Vehicle}[0]->{Images}->{Image_2}"; $image3 = "$config->{Vehicle}[0]->{Images}->{Image_3}"; $image4 = "$config->{Vehicle}[0]->{Images}->{Image_4}"; $image5 = "$config->{Vehicle}[0]->{Images}->{Image_5}"; $image6 = "$config->{Vehicle}[0]->{Images}->{Image_6}"; $image7 = "$config->{Vehicle}[0]->{Images}->{Image_7}"; $image8 = "$config->{Vehicle}[0]->{Images}->{Image_8}"; $image9 = "$config->{Vehicle}[0]->{Images}->{Image_9}"; $image10 = "$config->{Vehicle}[0]->{Images}->{Image_10}"; $image11 = "$config->{Vehicle}[0]->{Images}->{Image_11}"; $image12 = "$config->{Vehicle}[0]->{Images}->{Image_12}"; ###########Write CSV############ $opath = "e:/out/" ; $ipath = "e:/in/" ; $add='0'; $add2='xx.csv'; $add5=''; $lineno = 10; $add5 = $exportid.$lineno ; $add3 = $opath.$exportid.$lineno.$add2 ; $add6 = "xx"; $mileage =~ tr/,//d ; print "Content-type: text/html\n"; print "\n"; open (FILENAME,">$add3"); print FILENAME "Ref No,Make,Model,Trim,Vehicle Sub Class,Colour,Engine + Size,Fuel Type,Transmission,Year,Mileage,Registration No,Keys Suppli +ed,Damage Report,VAT Applicable,Condition,FSH,ABI Category,Reserve,Ch +assis No,Vehicle Source,Agent,Region,Vehicle Location,Source Name,Dat +e Approved\n"; print FILENAME "$add5,$make,$model,$trim,$doors,$colour,$cc,$fueltype, +$transpeed $trantypr,$year,$mileage,$reg,$keyssupplied,$damage,$hasva +t,$starts $drives,No,$abicat,$reserve,na,$memid,$memid,$memid,$memid, +$auctionid,na,\n"; close FILENAME ; print "Done!";
My Knowledge of PERL is very basic and have learned by altering old scripts that were in use before i started here. Many Thanks, Michael<?xml version="1.0"?> <!--DMS Auction Export - Version 1.2--> <root> <Header> <MemberID>005</MemberID> <ExportID>9376</ExportID> </Header> <Vehicle> <AuctionID>25020</AuctionID> <VehicleID>155809</VehicleID> <Ref>1477980</Ref> <Manufacturer>FORD</Manufacturer> <Model>FIESTA</Model> <RegNo>MV04xxx</RegNo> <RegYear>2004</RegYear> <Colour>SILVER/BLACK</Colour> <Fuel>Petrol</Fuel> <Damage>FRONT AND O/S</Damage> <Doors>3</Doors> <Body>Hatchback</Body> <CC>1388</CC> <Speedo>39,260</Speedo> <TransSpeed>5 Speed</TransSpeed> <TransType>Manual</TransType> <TrimLevel>LEATHER</TrimLevel> <Engine></Engine> <Cat>C</Cat> <ReservePrice>886</ReservePrice> <StartPrice>0</StartPrice> <HasVAT>0</HasVAT> <Keys>1</Keys> <Starts>1</Starts> <Drives>1</Drives> <Stereo>0</Stereo> <VINPlate>1</VINPlate> <LogBook>0</LogBook> <DateAuction>24.07.2009</DateAuction> <Location>BURSCOUGH</Location> <CanBeViewed>YES</CanBeViewed> <CostExVAT>0</CostExVAT> <PAV>0</PAV> <Images> <Image_1>742281.jpg</Image_1> <Image_2>742285.jpg</Image_2> <Image_3>742286.jpg</Image_3> <Image_4>742282.jpg</Image_4> <Image_5>742283.jpg</Image_5> <Image_6>742284.jpg</Image_6> <Image_7>742287.jpg</Image_7> <Image_8></Image_8> <Image_9></Image_9> <Image_10></Image_10> <Image_11></Image_11> <Image_12></Image_12> </Images></Vehicle> <Vehicle> <AuctionID>25019</AuctionID> <VehicleID>156171</VehicleID> <Ref>1480714</Ref> <Manufacturer>TOYOTA</Manufacturer> <Model>RAV 4</Model> <RegNo>DG52xxx</RegNo> <RegYear>2002</RegYear> <Colour>Blue</Colour> <Fuel>Petrol</Fuel> <Damage>FRONT</Damage> <Doors>3</Doors> <Body>4X4</Body> <CC>1794</CC> <Speedo>66,876</Speedo> <TransSpeed>5 Speed</TransSpeed> <TransType>Manual</TransType> <TrimLevel>CLOTH</TrimLevel> <Engine></Engine> <Cat>U</Cat> <ReservePrice>954</ReservePrice> <StartPrice>0</StartPrice> <HasVAT>0</HasVAT> <Keys>1</Keys> <Starts>1</Starts> <Drives>1</Drives> <Stereo>0</Stereo> <VINPlate>1</VINPlate> <LogBook>0</LogBook> <DateAuction>24.07.2009</DateAuction> <Location>BURSCOUGH</Location> <CanBeViewed>YES</CanBeViewed> <CostExVAT>0</CostExVAT> <PAV>0</PAV> <Images> <Image_1>742273.jpg</Image_1> <Image_2>742277.jpg</Image_2> <Image_3>742278.jpg</Image_3> <Image_4>742274.jpg</Image_4> <Image_5>742275.jpg</Image_5> <Image_6>742276.jpg</Image_6> <Image_7>742280.jpg</Image_7> <Image_8></Image_8> <Image_9></Image_9> <Image_10></Image_10> <Image_11></Image_11> <Image_12></Image_12> </Images></Vehicle> <Vehicle> <Summary> <NumberOfVehicles>39</NumberOfVehicles> <DateExport>20.07.2009 12:52:09</DateExport> </Summary> </root>
In reply to Parse XML into CSV Files by dmsparts
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |