Parsing XML


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Parsing XML
# 1  
Old 04-09-2012
Parsing XML

I am trying to parse an xml file and trying to grab certain values and inserting them into database table. I have the following xml that I am parsing:

Code:
<dd:service name="locator" link="false">
<dd:activation mode="manual" />
<dd:run mode="direct_persistent" proxified="false" managed="true" authenticated="false" perflog="false" dynlog="true" />
<dd:endpoint protocol="iiop" port="21120" />
</dd:service>
<dd:service name="node_daemon" link="false">
<dd:activation mode="manual" />
<dd:run mode="direct_persistent" proxified="false" managed="true" authenticated="false" perflog="false" dynlog="true" />
<dd:endpoint protocol="iiop" port="21121" />
</dd:service>
<dd:service name="management" link="false">
<dd:activation mode="manual" />
<dd:run mode="direct_persistent" proxified="false" managed="false" authenticated="false" perflog="false" dynlog="false" />
<dd:endpoint protocol="http" port="21122" />
<dd:endpoint protocol="iiop" port="21123" />
</dd:service>

I need to create a row for each service type. For instance I need to insert into a table for the service stanza:

locator, 21120
node_daemon, 21121
management, 21123

So I would like to grab the service type and iiop port, but I am having some difficulty doing so. I have come up with the following, but it isn't correct. This will only grab the port, but not the iiop port, but including http ports.

Code:
for k in `cat test.xml | grep port | awk -F"\"" '{print $4}'`
do
echo "$server,dev$i,test,$k" >> test.txt
done
fi

# 2  
Old 04-09-2012
Hi, would awk be OK too? Try this:
Code:
awk -F\" '$1~"service name" {s=$2} $2=="iiop"{print s", "$4}' infile

If the format varies, you would need something a bit more complicated..
# 3  
Old 04-09-2012
Works great, thanks a ton.
# 4  
Old 04-09-2012
Its skipping the first stanza for some reason:

Code:
<dd:service name="locator" link="false">
<dd:activation mode="manual" />
<dd:run mode="direct_persistent" proxified="false" managed="true" authenticated="false" perflog="false" dynlog="true" />
<dd:endpoint protocol="iiop" port="20000" />
</dd:service>

It parses the other 4 correctly and my script inserts into the database correctly as well.
# 5  
Old 04-09-2012
With your sample, I get:

Code:
locator, 21120
node_daemon, 21121
management, 21123

What do you get?
# 6  
Old 04-09-2012
Got it to work. Thanks.
# 7  
Old 04-26-2012
The awk is failing on solaris. Can someone help me rewrite this to run on solaris? This only works on Linux.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

XML parsing

I have an xml file where the format looks like below <SESSIONCOMPONENT REFOBJECTNAME ="pre_session_command" REUSABLE ="NO" TYPE ="Pre-session command"> <TASK DESCRIPTION ="" NAME ="pre_session_command" REUSABLE ="NO" TYPE ="Command" VERSIONNUMBER ="1"> ... (8 Replies)
Discussion started by: r_t_1601
8 Replies

2. Shell Programming and Scripting

XML Parsing :

HI I want to parse below file in to two output :- Input :- ?xml version="1.0" encoding="UTF-8"?> <bulkCmConfigDataFile xmlns:un="utranNrm.xsd" <configData dnPrefix="Undefined"> <xn:SubNetwork id="ONRM_ROOT_MO_R"> <xn:MeContext id="C136"> ... (3 Replies)
Discussion started by: asavaliya
3 Replies

3. Shell Programming and Scripting

XML parsing

i have xml output in below format... <AlertsResponse> <Alert id="11216" name="fgdfg"> <AlertActionLog timestamp="1356521629778" user="admin" detail="Recovery Alert"/> </Alert> <Alert id="11215" name="gdfg <AlertActionLog timestamp="1356430119840" user=""... (12 Replies)
Discussion started by: vivek d r
12 Replies

4. Shell Programming and Scripting

XML: parsing of the Google contacts XML file

I am trying to parse the XML Google contact file using tools like xmllint and I even dived into the XSL Style Sheets using xsltproc but I get nowhere. I can not supply any sample file as it contains private data but you can download your own contacts using this script: #!/bin/sh # imports... (9 Replies)
Discussion started by: ripat
9 Replies

5. UNIX for Advanced & Expert Users

XML Parsing

I had a big XML and from which I have to make a layout as below *TOTAL+CB | *CB+FX | CS |*IR | *TOTAL | -------------------------------------------------------------------------------------------------- |CB FX | | | | DMFXNY EMSGFX... (6 Replies)
Discussion started by: manas_ranjan
6 Replies

6. Shell Programming and Scripting

Parsing XML

Learned People, Hello ! Till today, for the most part, all of the tricky questions/situations that I encountered were already posted by other folks and all I had to do was peruse through these one at a time and I could find some sort of an answer and all I had to do was add some minor tweaks... (5 Replies)
Discussion started by: ManoharMa
5 Replies

7. Shell Programming and Scripting

XML parsing

I have a xml file attached. I need to parse parameterId and its value My output should be like 151515 38 151522 32769 and so on.. Please help me. Its urgent (6 Replies)
Discussion started by: LavanyaP
6 Replies

8. Shell Programming and Scripting

XML Parsing

Hi, Need a script to parse the following xml file content <tag1 Name="val1"> <abc Name="key"/> <abc Name="pass">*********</abc> </tag1> <tag2 Name="Core"> <Host Name="a.b.c"> <tag1 Name="abc"> <abc Name="ac">None</abc> ... (4 Replies)
Discussion started by: Mavericc
4 Replies

9. Shell Programming and Scripting

parsing xml

I want to use wget comment to parse an xml parse that exist in an online website. How can I connect it using shell script through Unix and how can I parse it?? (1 Reply)
Discussion started by: walnut
1 Replies

10. Programming

XML parsing

Hi I want to take an XML file and transform it into a pipe-delimited format. What is the best tool to use for this? I have libxml2 which seems to be the best xml parser around. The xml file will have the following format. <Txn> <Date>120504</Date> <id>99</id> <Items> <Item>... (1 Reply)
Discussion started by: handak9
1 Replies
Login or Register to Ask a Question