08-13-2009
parsing(xml) using nawk/awk
Hi ,
I have an xml format as shown below:
<Info>
<last name="sean" first name="john"/>
<period="5" time="11"/>
<test value="1",test2 value="2",test3 value="3",test4 value="5">
<old>
<value1>1</value1>
<value2>2</value2>
</old>
<new>
<value1>4</value1>
<value2>3</value2>
</new>
<total>12</total>
</Info>
<Info>
<last name="sean" first name="micheal"/>
<period="10" time="20"/>
<test value="7",test2 value="8",test3 value="9",test4 value="10">
<old>
<value1>8</value1>
<value2>7</value2>
</old>
<new>
<value1>6</value1>
<value2>5</value2>
</new>
<total>20</total>
</Info>
output that i need is:
firstname,period,time,test_value,test3_value,test4_value,old_value1,old_value2,new_value1, new_value2,total
john,5,11,1,3,4,1,2,4,3,12
micheal,7,9,10,8,7,6,5,20
I just now how to parse <total>20</total> by using this
nawk 'BEGIN{FS="[<|>]"}
/<total>/ {printf(" %s\n"$3)}'
However, i do have have any ides on how to parse the rest of the file.
Anyone can know about that?
Your help is highly appreciated.
Thanks!
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
I am trying to use a line of output in an XML file as input in another new XML file for processing purposes via a shell script. Since I am a newbie though, I'm not sure how to do this since the data is different everytime. I am using this technique with static data right now:
echo -n "Running... (5 Replies)
Discussion started by: corwin43
5 Replies
2. Shell Programming and Scripting
Hi people!,
I need extract from the file (test-file.txt) the values between
<context> and </context> tag's , the total are 7 lines,but i can only get 5 or 2 lines!!:confused:
Please look my code:
#awk '/context/{flag=1} /\/context/{flag=0} !/context/{ if (flag==1) p
rint $0; }'... (3 Replies)
Discussion started by: ricgamch
3 Replies
3. Shell Programming and Scripting
As per another thread - https://www.unix.com/shell-programming-scripting/81027-how-can-i-parse-xml-file-2.html
I am using the following to extract the Subaccid and RecAccTotal from the xm file below
awk -v v=SubaccId -F'' '$2==v{s=$3;getline;a+=$3}END {for (i in a)print v,i,a}' file
Can... (6 Replies)
Discussion started by: frustrated1
6 Replies
4. Shell Programming and Scripting
hello ,
i am trying to parse xml using awk however its a little bit tricky as i want
<databases>
<source>
<host>prod</host>
<port>1522</port>
<tns>GP1</tns>
<user>P11</user>... (6 Replies)
Discussion started by: amit1_x
6 Replies
5. Shell Programming and Scripting
Hi All,
I have an xml file with the below format.
<a>111</a><b>222</b><c>333<c><d><e>123</e><f>234</f><d><e>456</e><f>789</f>
output needed is
111,222,333,123,234
111,222,333,456,789
nawk 'BEGIN{FS="<|>"}
{print a,b,c,e,f
a=""
... (7 Replies)
Discussion started by: natalie23
7 Replies
6. Shell Programming and Scripting
I have a large xml file as shown below:
<input>
<blah>
<blah>
<atr="blah blah value = "">
<blah>
<blah>
</input>
..2nd chunk...
..3rd chunk...
...4th chunk...
All lines between <input> and </input> is one 'order' and this 'order' is repeated... (14 Replies)
Discussion started by: shekhar2010us
14 Replies
7. Shell Programming and Scripting
My XML structure looks like:
<?xml version="1.0" encoding="UTF-8"?>
<SearchRepository>
<SearchItems>
<SearchItem>
...
</SearchItem>
<SearchItem>
...
... (1 Reply)
Discussion started by: jasonjustice
1 Replies
8. Shell Programming and Scripting
i need one help, below is one more xml file with diff pattern i tried it but dint get it , iam sure its a peice of cake for you guys.
<xn:MeContext id="LSVLKY001">
<xn:ManagedElement id="1">
<un:RncFunction id="1">
<un:UtranCell... (2 Replies)
Discussion started by: tech_frk
2 Replies
9. Shell Programming and Scripting
hi all..
need your help again..
i have xml file and i want to parsing some data from the xml file..
<ex-name="keroco">
<................>
<................>
<................>
<br-name="cincai">
<ship="123456">
<...................>
... (3 Replies)
Discussion started by: buncit8
3 Replies
10. Shell Programming and Scripting
Hi All,
I have a problem to resolve. For following XML file, I need to parse the values based on Tag Name. I would prefer to use this by awk. I have used sed command to replace the tags (s/<SeqNo>//).
In this case there can be new tags introduced. So need to parse it based on Tag Name. Any... (9 Replies)
Discussion started by: Tons
9 Replies
LEARN ABOUT SUSE
xml-xread
XML-XREAD(1) User Commands XML-XREAD(1)
NAME
xml-xread - Parse XML documents with entity and URI resolution
SYNOPSIS
xml-xread [options] xmlfile
DESCRIPTION
xml-xread is a simple command line tool for parsing and validating XML documents. It is not an actual XML parser, it just wraps around a
JAXP XMLReader, adding support for catalog-based entity and URI resolution.
OPTIONS
-c catalogfile
Load a particular catalog file. May be specified multiple times.
-v Perform a validating parse. This is the default.
-w Perform a well-formed parse, not a validating parse.
-N Perform a namespace-aware parse. This is the default.
-n Perform a namespace-ignorant parse.
-d debuglevel
Set the debug level (an integer). Warnings are shown if the debug level is set to greater than 2.
-E maxerrors
Set the maximum number of errors to display. The default is 10.
FILES
/etc/java/resolver/CatalogManager.properties
The central catalog manager configuration file used by xml-xread.
SEE ALSO
xml-parse(1), xml-resolver(1), java(1), the OASIS entity resolution technical committee home page at <http://www.oasis-open.org/commit-
tees/entity/>.
AUTHOR
Norman Walsh <Norman.Walsh@Sun.COM>
1.1 July 2004 XML-XREAD(1)