Extract data from an XML file & write into a CSV file


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Extract data from an XML file & write into a CSV file
# 1  
Old 04-18-2010
Extract data from an XML file & write into a CSV file

Hi All,

I am having an XML tag like:

Code:
 
          <detail  sim_ser_no_1="898407109001000090"
          imsi_1="452070001000090">
          <security>ADM1[1]=????</security>
          <security>PIN1[1]=????</security>
          <security>PIN2[1]=????</security>
          <security>PUK1[1]=????</security>
          <security>PUK2[1]=????</security>
          </detail>
          <detail sim_ser_no_1="898407109001000091"
          imsi_1="452070001000091">
          <security>ADM1[1]=????</security>
          <security>PIN1[1]=????</security>
          <security>PIN2[1]=????</security>
          <security>PUK1[1]=????</security>
          <security>PUK2[1]=????</security>
          </detail>

and the output I want is like this:
Code:
 
898407109001000090,452070001000090,????,????,????,????,???? 

898407109001000091,452070001000091,????,????,????,????,???? 

and so on...

But not able to get all the values together esp sim_ser_no_1 & imsi_1.

Require your inputs.

Regards
# 2  
Old 04-18-2010
Code:
awk -F'[=<"]' '/<detail/&& NR-1{print x}/sim|imsi_|security/{printf ((/sim/)?x:",")$(NF-1)}' file

# 3  
Old 04-18-2010
Code:
$
$
$ cat -n f0.xml
     1  <detail sim_ser_no_1="898407109001000090"
     2  imsi_1="452070001000090">
     3  <security>ADM1[1]=????</security>
     4  <security>PIN1[1]=????</security>
     5  <security>PIN2[1]=????</security>
     6  <security>PUK1[1]=????</security>
     7  <security>PUK2[1]=????</security>
     8  </detail>
     9  <detail sim_ser_no_1="898407109001000091"
    10  imsi_1="452070001000091">
    11  <security>ADM1[1]=????</security>
    12  <security>PIN1[1]=????</security>
    13  <security>PIN2[1]=????</security>
    14  <security>PUK1[1]=????</security>
    15  <security>PUK2[1]=????</security>
    16  </detail>
$
$ perl -ne 'if (/^<detail.*="(\d+)/) {print $1}
            elsif (/imsi_1="(\d+)/) {print ",$1"}
            elsif (/<security.*=(.*?)</) {print ",$1"}
            else {print "\n"}' f0.xml
898407109001000090,452070001000090,????,????,????,????,????
898407109001000091,452070001000091,????,????,????,????,????
$
$

tyler_durden
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Extract Data from XML file.

Hi Guys, I am in a need to extract data from a xml file. The XML file format is as below. <data jsxnamespace="propsbundle" locales=""> <locale> <!--Error messages starts--> <record jsxid="CHARPAIR001" jsxtext=" must be selected"></record> <record... (1 Reply)
Discussion started by: Showdown
1 Replies

2. Shell Programming and Scripting

Pass some data from csv to xml file using shell/python

Hello gurus, I have a csv file with bunch of datas in each column. (see attached) Now I have an .xml file in the structure of below: ?xml version="1.0" ?> <component id="root" name="root"> <component id="system" name="system"> <param name="number_of_A" value="8"/> ... (5 Replies)
Discussion started by: Zam_1234
5 Replies

3. Shell Programming and Scripting

How to extract data from xml file using shell scripting?

Hi evry1, This is my 1st post in this forum.Pls help me I want to extract some data froma xml file which has 2000 lines using shell scripting. Actually my xml file has some "audio and video codes" which i need to arrange in a column wise format after extracting it using shell scripting.I... (4 Replies)
Discussion started by: arun_kohan
4 Replies

4. Shell Programming and Scripting

Extract data from XML file and write in CSV file

Hi friend i have input as following XML file <?xml version="1.0"?> <Document xmlns="urn:iso:std:iso:20022:tech:xsd:camt.054.001.02"> <BkToCstmrDbtCdtNtfctn> <GrpHdr><MsgId>LBP-RDJ-TE000000-130042430010001001</MsgId><CreDtTm>2013-01-04T03:21:30</CreDtTm></GrpHdr>... (3 Replies)
Discussion started by: mohan sharma
3 Replies

5. Shell Programming and Scripting

Extract data from XML file

Hi , I have input file as XML. following are input data #complex.xml <?xml version="1.0" encoding="UTF-8"?> <TEST_doc xmlns="http://www.w3.org/2001/XMLSchema-instance"> <ENTRY uid="123456"> <protein> <name>PROT001</name> <organism>Human</organism> ... (1 Reply)
Discussion started by: mohan sharma
1 Replies

6. Shell Programming and Scripting

Extract and parse XML data (statistic value) to csv

Hi All, I need to parse some statistic data from the "measInfo" -eg. 25250000 (as highlighted) and return the result into line by line, and erasing all other unnecessary info/tag. Thought of starting with grep "measInfoID="25250000" but this only returns 1 line. How do I get all the output... (8 Replies)
Discussion started by: jackma
8 Replies

7. Shell Programming and Scripting

Perl extract number from file & write to file

I have 1 file that has elements as follows. Also the CVR(10) and the word "SAUCE" only appear once in the file so maybe a grep command would work? file1 CVR( 9) = 0.385E+05, ! VEHICLE CVR(10) = 0.246E+05, ! SAUCE CVR(11) = 0.162E+03, ! VEHICLE I need to extract the... (6 Replies)
Discussion started by: austinj
6 Replies

8. Shell Programming and Scripting

How to extract data from csv file

Hello everybody, Here is my problem, I don't know anything about shell programming and my boss is actually asking me to develop a shell script in order to get values in a csv file from a specific date. Here is a sample of the csv file : Date;Enchaînement;Titre;Libellé ;calendrier;Heure début;Heure... (11 Replies)
Discussion started by: freyr
11 Replies

9. Shell Programming and Scripting

Data Extract from XML Log File

Please help me out to extract the Data from the XML Log files. So here is the data ERROR|2010-08-26 00:05:52,958|SERIAL_ID=128279996|ST=2010-08-2600:05:52|DEVICE=113.2.21.12:601|TYPE=TransactionLog... (9 Replies)
Discussion started by: raghunsi
9 Replies

10. Shell Programming and Scripting

Extract string from a file & write to a new file (Perl)

Hi, This is the first time playing around with perl and need some help. Assuming if i have a line of text that looks like this: Date/Time=Nov 18 17:12:11;Device Name=192.168.1.1;Device IP=192.168.1.1;Device Class=IDS;Source IP=155.212.212.111;Source Name=UNKNOWN;Source Port=1679... (3 Replies)
Discussion started by: LuckyGuy
3 Replies
Login or Register to Ask a Question