how to get specific xml tag ?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting how to get specific xml tag ?
# 8  
Old 01-09-2006
Show me your sed command. And a sample file which consists of atleast 2 occurences of the record tag.
# 9  
Old 01-09-2006
ok..the file extracted is called outputrecord.txt and it contain this
2005-12-05 10:53:34,663 [ExecuteThread: '0' for queue: 'default'] INFO - etb is null
<record xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><func_c>C</func_c><vv_c>7701</vv_c><vessel_m>DEMO</vessel_m><abb
r_vessel_m>DEMO</abbr_vessel_m><voyage_out_n>1234</voyage_out_n><abbr_voyage_out_n>1234</abbr_voyage_out_n><voyage_in_n>1234</
voyage_in_n><abbr_voyage_in_n>1234</abbr_voyage_in_n><berth_seq_n>1</berth_seq_n><terminal_c> </terminal_c><old_terminal_c> </
old_terminal_c><position_from_n>0</position_from_n><position_to_n>0</position_to_n><wharfside_i> </wharfside_i><qc_rate_q>20.0
</qc_rate_q><qc_intensity_q>3.0</qc_intensity_q><location_from_c>AEW</location_from_c><location_to_c>SEAW</location_to_c><bert
h_pilot_i>true</berth_pilot_i><unberth_pilot_i>true</unberth_pilot_i><delay_c> </delay_c><status_c> </status_c><btr_dt>2005-12
-25T12:00:00.000+08:00</btr_dt><priority_c>C7</priority_c><scheme_qualify_i>X</scheme_qualify_i><section_n>-1</section_n></rec
ord>
2005-12-05 10:53:46,970 [ExecuteThread: '0' for queue: 'default'] INFO - etb is null
<record xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><func_c>C</func_c><vv_c>7686</vv_c><vessel_m>MSC ROBERTA</vessel
_m><abbr_vessel_m>MSC ROBERTA</abbr_vessel_m><voyage_out_n>2007EA</voyage_out_n><abbr_voyage_out_n>2007EA</abbr_voyage_out_n><
voyage_in_n>2007EA</voyage_in_n><abbr_voyage_in_n>2007EA</abbr_voyage_in_n><berth_seq_n>1</berth_seq_n><terminal_c> </terminal
_c><old_terminal_c> </old_terminal_c><position_from_n>0</position_from_n><position_to_n>0</position_to_n><wharfside_i>P</wharf
side_i><qc_rate_q>24.4</qc_rate_q><qc_intensity_q>2.9</qc_intensity_q><location_from_c>AEW</location_from_c><location_to_c>AEW
</location_to_c><berth_pilot_i>true</berth_pilot_i><unberth_pilot_i>true</unberth_pilot_i><delay_c> </delay_c><status_c> </sta
tus_c><btr_dt>2005-12-13T12:00:00.000+08:00</btr_dt><priority_c>C7</priority_c><scheme_qualify_i>X</scheme_qualify_i><section_
n>-1</section_n></record>
2005-12-05 10:53:56,734 [ExecuteThread: '0' for queue: 'default'] INFO - etb is null
<record xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><func_c>C</func_c><vv_c>7702</vv_c><vessel_m>MSC ROBERTA</vessel
_m><abbr_vessel_m>MSC ROBERTA</abbr_vessel_m><voyage_out_n>2007CC</voyage_out_n><abbr_voyage_out_n>2007CC</abbr_voyage_out_n><
voyage_in_n>2007KK</voyage_in_n><abbr_voyage_in_n>2007KK</abbr_voyage_in_n><berth_seq_n>1</berth_seq_n><terminal_c> </terminal
_c><old_terminal_c> </old_terminal_c><position_from_n>0</position_from_n><position_to_n>0</position_to_n><wharfside_i>P</wharf
side_i><qc_rate_q>24.4</qc_rate_q><qc_intensity_q>2.9</qc_intensity_q><location_from_c>AEW</location_from_c><location_to_c>AEW
</location_to_c><berth_pilot_i>true</berth_pilot_i><unberth_pilot_i>true</unberth_pilot_i><delay_c> </delay_c><status_c> </sta
tus_c><btr_dt>2005-12-20T14:00:00.000+08:00</btr_dt><priority_c>C7</priority_c><scheme_qualify_i>X</scheme_qualify_i><section_
n>-1</section_n></record>

and i try using the previous sed command which is this as im still not very good at writing sed codes....
i try using this:
sed -e 's_^..:..:.. .*<record_<record_g' outputrecord.txt > record_file
# 10  
Old 01-09-2006
When you post the code, please put it within the code tags.

Show me your original input file, and the sed command you used to generate outputrecord.txt

And where does
Code:
sed -e 's_^..:..:.. .*<record_<record_g' outputrecord.txt > record_file

fit in the problem description of yours ?
# 11  
Old 01-09-2006
Quote:
Originally Posted by vino
Code:
sed -n -e '/<record /{N;s_.*\(<record .*<\/record>\)_\1_p;}' in.txt

The .* in s_.*\(<record takes care of all text which appear just before <record

Unless you omitted it, or there is something else in your input file, it should work.
# 12  
Old 01-09-2006
oh its related.. i get the outputrecord.txt from the command u give earlier...
i used the sed coding you give which is
sed -n -e '/<record /{N;s_.*\(<record .*<\/record>\)_\1_p;}' in.txt
and i still getting the

my original message before getting the record tag is this
2005-12-05 10:53:17,551 [ExecuteThread: '0' for queue: 'default'] INFO - message received...
2005-12-05 10:53:17,557 [ExecuteThread: '0' for queue: 'default'] INFO - The XML message **************<berth_allocation xmln
s:xsi="http://www.w3.org/2001/XMLSchema-instance"><system_c>BPMS</system_c><trans_c>BPMSMessage</trans_c><trans_dt>2005-12-05T
10:55:07.324+08:00</trans_dt><message>&lt;record xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-ins...&gt;&lt;func_c
&gt;C&lt;/func_c&gt;&lt;vv_c&gt;7688&lt;/vv_c&gt;&lt;vessel_m&gt;MSC ROBERTA&lt;/vessel_m&gt;&lt;abbr_vessel_m&gt;MSC ROBERTA&
lt;/abbr_vessel_m&gt;&lt;voyage_out_n&gt;90A&lt;/voyage_out_n&gt;&lt;abbr_voyage_out_n&gt;90A&lt;/abbr_voyage_out_n&gt;&lt;voy
age_in_n&gt;90A&lt;/voyage_in_n&gt;&lt;abbr_voyage_in_n&gt;90A&lt;/abbr_voyage_in_n&gt;&lt;berth_seq_n&gt;1&lt;/berth_seq_n&gt
;&lt;terminal_c&gt; &lt;/terminal_c&gt;&lt;old_terminal_c&gt; &lt;/old_terminal_c&gt;&lt;position_from_n&gt;0&lt;/position_fro
m_n&gt;&lt;position_to_n&gt;0&lt;/position_to_n&gt;&lt;wharfside_i&gt;P&lt;/wharfside_i&gt;&lt;qc_rate_q&gt;24.4&lt;/qc_rate_q
&gt;&lt;qc_intensity_q&gt;2.9&lt;/qc_intensity_q&gt;&lt;location_from_c&gt;P21&lt;/location_from_c&gt;&lt;location_to_c&gt;P21
&lt;/location_to_c&gt;&lt;berth_pilot_i&gt;true&lt;/berth_pilot_i&gt;&lt;unberth_pilot_i&gt;true&lt;/unberth_pilot_i&gt;&lt;de
lay_c&gt; &lt;/delay_c&gt;&lt;status_c&gt; &lt;/status_c&gt;&lt;btr_dt&gt;2005-12-13T13:00:00.000+08:00&lt;/btr_dt&gt;&lt;prio
rity_c&gt;C7&lt;/priority_c&gt;&lt;scheme_qualify_i&gt;X&lt;/scheme_qualify_i&gt;&lt;section_n&gt;-1&lt;/section_n&gt;&lt;/rec
ord&gt;</message><user_id_n>BA</user_id_n></berth_allocation>
2005-12-05 10:53:17,615 [ExecuteThread: '0' for queue: 'default'] INFO - Root Node is [berth_allocation]
2005-12-05 10:53:17,626 [ExecuteThread: '0' for queue: 'default'] INFO - XML messages retrieved:<record xmlns:xsi="http://www
.w3.org/2001/XMLSchema-instance"><func_c>C</func_c><vv_c>7688</vv_c><vessel_m>MSC ROBERTA</vessel_m><abbr_vessel_m>MSC ROBERTA
</abbr_vessel_m><voyage_out_n>90A</voyage_out_n><abbr_voyage_out_n>90A</abbr_voyage_out_n><voyage_in_n>90A</voyage_in_n><abbr_
voyage_in_n>90A</abbr_voyage_in_n><berth_seq_n>1</berth_seq_n><terminal_c> </terminal_c><old_terminal_c> </old_terminal_c><pos
ition_from_n>0</position_from_n><position_to_n>0</position_to_n><wharfside_i>P</wharfside_i><qc_rate_q>24.4</qc_rate_q><qc_int
ensity_q>2.9</qc_intensity_q><location_from_c>P21</location_from_c><location_to_c>P21</location_to_c><berth_pilot_i>true</bert
h_pilot_i><unberth_pilot_i>true</unberth_pilot_i><delay_c> </delay_c><status_c> </status_c><btr_dt>2005-12-13T13:00:00.000+08:
00</btr_dt><priority_c>C7</priority_c><scheme_qualify_i>X</scheme_qualify_i><section_n>-1</section_n></record>
2005-12-05 10:53:17,641 [ExecuteThread: '0' for queue: 'default'] INFO - etb is null
2005-12-05 10:53:17,642 [ExecuteThread: '0' for queue: 'default'] INFO - old_etb_dt is null
2005-12-05 10:53:17,643 [ExecuteThread: '0' for queue: 'default'] INFO - etu_dt is null
2005-12-05 10:53:17,643 [ExecuteThread: '0' for queue: 'default'] INFO - old_etu_dt is null
2005-12-05 10:53:26,108 [ExecuteThread: '0' for queue: 'default'] INFO - message received...
2005-12-05 10:53:26,109 [ExecuteThread: '0' for queue: 'default'] INFO - The XML message **************<berth_allocation xmln
s:xsi="http://www.w3.org/2001/XMLSchema-instance"><system_c>BPMS</system_c><trans_c>BPMSMessage</trans_c><trans_dt>2005-12-05T
10:55:16.169+08:00</trans_dt><message>&lt;record xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-ins...&gt;&lt;func_c
&gt;C&lt;/func_c&gt;&lt;vv_c&gt;7686&lt;/vv_c&gt;&lt;vessel_m&gt;MSC ROBERTA&lt;/vessel_m&gt;&lt;abbr_vessel_m&gt;MSC ROBERTA&
lt;/abbr_vessel_m&gt;&lt;voyage_out_n&gt;2007EA&lt;/voyage_out_n&gt;&lt;abbr_voyage_out_n&gt;2007EA&lt;/abbr_voyage_out_n&gt;&
lt;voyage_in_n&gt;2007EA&lt;/voyage_in_n&gt;&lt;abbr_voyage_in_n&gt;2007EA&lt;/abbr_voyage_in_n&gt;&lt;berth_seq_n&gt;1&lt;/be
rth_seq_n&gt;&lt;terminal_c&gt; &lt;/terminal_c&gt;&lt;old_terminal_c&gt; &lt;/old_terminal_c&gt;&lt;position_from_n&gt;0&lt;/
position_from_n&gt;&lt;position_to_n&gt;0&lt;/position_to_n&gt;&lt;wharfside_i&gt;P&lt;/wharfside_i&gt;&lt;qc_rate_q&gt;24.4&l
t;/qc_rate_q&gt;&lt;qc_intensity_q&gt;2.9&lt;/qc_intensity_q&gt;&lt;location_from_c&gt;AEW&lt;/location_from_c&gt;&lt;location
_to_c&gt;AEW&lt;/location_to_c&gt;&lt;berth_pilot_i&gt;true&lt;/berth_pilot_i&gt;&lt;unberth_pilot_i&gt;true&lt;/unberth_pilot
_i&gt;&lt;delay_c&gt; &lt;/delay_c&gt;&lt;status_c&gt; &lt;/status_c&gt;&lt;btr_dt&gt;2005-12-13T12:00:00.000+08:00&lt;/btr_dt
&gt;&lt;priority_c&gt;C7&lt;/priority_c&gt;&lt;scheme_qualify_i&gt;X&lt;/scheme_qualify_i&gt;&lt;section_n&gt;-1&lt;/section_n
&gt;&lt;/record&gt;</message><user_id_n>BA</user_id_n></berth_allocation>
2005-12-05 10:53:26,119 [ExecuteThread: '0' for queue: 'default'] INFO - Root Node is [berth_allocation]
2005-12-05 10:53:26,130 [ExecuteThread: '0' for queue: 'default'] INFO - XML messages retrieved:<record xmlns:xsi="http://www
.w3.org/2001/XMLSchema-instance"><func_c>C</func_c><vv_c>7686</vv_c><vessel_m>MSC ROBERTA</vessel_m><abbr_vessel_m>MSC ROBERTA
</abbr_vessel_m><voyage_out_n>2007EA</voyage_out_n><abbr_voyage_out_n>2007EA</abbr_voyage_out_n><voyage_in_n>2007EA</voyage_in
_n><abbr_voyage_in_n>2007EA</abbr_voyage_in_n><berth_seq_n>1</berth_seq_n><terminal_c> </terminal_c><old_terminal_c> </old_ter
minal_c><position_from_n>0</position_from_n><position_to_n>0</position_to_n><wharfside_i>P</wharfside_i><qc_rate_q>24.4</qc_ra
te_q><qc_intensity_q>2.9</qc_intensity_q><location_from_c>AEW</location_from_c><location_to_c>AEW</location_to_c><berth_pilot_
i>true</berth_pilot_i><unberth_pilot_i>true</unberth_pilot_i><delay_c> </delay_c><status_c> </status_c><btr_dt>2005-12-13T12:0
0:00.000+08:00</btr_dt><priority_c>C7</priority_c><scheme_qualify_i>X</scheme_qualify_i><section_n>-1</section_n></record>
2005-12-05 10:53:26,150 [ExecuteThread: '0' for queue: 'default'] INFO - etb is null
2005-12-05 10:53:26,151 [ExecuteThread: '0' for queue: 'default'] INFO - old_etb_dt is null
2005-12-05 10:53:26,152 [ExecuteThread: '0' for queue: 'default'] INFO - etu_dt is null
2005-12-05 10:53:26,153 [ExecuteThread: '0' for queue: 'default'] INFO - old_etu_dt is null
2005-12-05 10:53:34,626 [ExecuteThread: '0' for queue: 'default'] INFO - message received...

after i use your command to get the <record> i still get a line of coding which is this and i need to delete it..

2005-12-05 10:53:34,663 [ExecuteThread: '0' for queue: 'default'] INFO - etb is null
<record xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><func_c>C</func_c><vv_c>7701</vv_c><vessel_m>DEMO</vessel_m><abb
r_vessel_m>DEMO</abbr_vessel_m><voyage_out_n>1234</voyage_out_n><abbr_voyage_out_n>1234</abbr_voyage_out_n><voyage_in_n>1234</
voyage_in_n><abbr_voyage_in_n>1234</abbr_voyage_in_n><berth_seq_n>1</berth_seq_n><terminal_c> </terminal_c><old_terminal_c> </
old_terminal_c><position_from_n>0</position_from_n><position_to_n>0</position_to_n><wharfside_i> </wharfside_i><qc_rate_q>20.0
</qc_rate_q><qc_intensity_q>3.0</qc_intensity_q><location_from_c>AEW</location_from_c><location_to_c>SEAW</location_to_c><bert
h_pilot_i>true</berth_pilot_i><unberth_pilot_i>true</unberth_pilot_i><delay_c> </delay_c><status_c> </status_c><btr_dt>2005-12
-25T12:00:00.000+08:00</btr_dt><priority_c>C7</priority_c><scheme_qualify_i>X</scheme_qualify_i><section_n>-1</section_n></rec
ord>
2005-12-05 10:53:46,970 [ExecuteThread: '0' for queue: 'default'] INFO - etb is null
<record xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><func_c>C</func_c><vv_c>7686</vv_c><vessel_m>MSC ROBERTA</vessel
_m><abbr_vessel_m>MSC ROBERTA</abbr_vessel_m><voyage_out_n>2007EA</voyage_out_n><abbr_voyage_out_n>2007EA</abbr_voyage_out_n><
voyage_in_n>2007EA</voyage_in_n><abbr_voyage_in_n>2007EA</abbr_voyage_in_n><berth_seq_n>1</berth_seq_n><terminal_c> </terminal
_c><old_terminal_c> </old_terminal_c><position_from_n>0</position_from_n><position_to_n>0</position_to_n><wharfside_i>P</wharf
side_i><qc_rate_q>24.4</qc_rate_q><qc_intensity_q>2.9</qc_intensity_q><location_from_c>AEW</location_from_c><location_to_c>AEW
</location_to_c><berth_pilot_i>true</berth_pilot_i><unberth_pilot_i>true</unberth_pilot_i><delay_c> </delay_c><status_c> </sta
tus_c><btr_dt>2005-12-13T12:00:00.000+08:00</btr_dt><priority_c>C7</priority_c><scheme_qualify_i>X</scheme_qualify_i><section_
n>-1</section_n></record>

sorry to trouble u again...

Last edited by forevercalz; 01-09-2006 at 03:34 AM..
# 13  
Old 01-09-2006
This ?

Code:
sed -n -e '/<record /{N;s_.*\(<record .*<\/record>\).*_\1_p;}' in.txt

# 14  
Old 01-09-2006
Oh yes! finally....thanks for your wonderous help......u are genius..
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Grepping multiple XML tag results from XML file.

I want to write a one line script that outputs the result of multiple xml tags from a XML file. For example I have a XML file which has below XML tags in the file: <EMAIL>***</EMAIL> <CUSTOMER_ID>****</CUSTOMER_ID> <BRANDID>***</BRANDID> Now I want to grep the values of all these specified... (1 Reply)
Discussion started by: shubh752
1 Replies

2. Shell Programming and Scripting

Moving XML tag/contents after specific XML tag within same file

Hi Forum. I have an XML file with the following requirement to move the <AdditionalAccountHolders> tag and its content right after the <accountHolderName> tag within the same file but I'm not sure how to accomplish this through a Unix script. Any feedback will be greatly appreciated. ... (19 Replies)
Discussion started by: pchang
19 Replies

3. Shell Programming and Scripting

To search for a particular tag in xml and collate all similar tag values and display them count

I want to basically do the below thing. Suppose there is a tag called object1. I want to display an output for all similar tag values under heading of Object 1 and the count of the xmls. Please help File: <xml><object1>house</object1><object2>child</object2>... (9 Replies)
Discussion started by: srkmish
9 Replies

4. Shell Programming and Scripting

XML Parse between to tag with upper tag

Hi Guys Here is my Input : <?xml version="1.0" encoding="UTF-8"?> <xn:MeContext id="01736"> <xn:VsDataContainer id="01736"> <xn:attributes> <xn:vsDataType>vsDataMeContext</xn:vsDataType> ... (12 Replies)
Discussion started by: pareshkp
12 Replies

5. Shell Programming and Scripting

How to add the multiple lines of xml tags before a particular xml tag in a file

Hi All, I'm stuck with adding multiple lines(irrespective of line number) to a file before a particular xml tag. Please help me. <A>testing_Location</A> <value>LA</value> <zone>US</zone> <B>Region</B> <value>Russia</value> <zone>Washington</zone> <C>Country</C>... (0 Replies)
Discussion started by: mjavalkar
0 Replies

6. Shell Programming and Scripting

How to retrieve the value from XML tag whose end tag is in next line

Hi All, Find the following code: <Universal>D38x82j1JJ </Universal> I want to retrieve the value of <Universal> tag as below: Please help me. (3 Replies)
Discussion started by: mjavalkar
3 Replies

7. Shell Programming and Scripting

how to retrieve specific parameters using a xml tag

Hi, I have the following code in my xml file: <aaaRule loginIdPattern=".*" orgIdPattern=".*" deny="false" /> <aaaRuleGroup name="dpaas"> <aaaRule loginIdPattern=".*" orgIdPattern=".*" deny="false" /> I want to retrieve orgIdPattern and loginIdPattern parameter value based on... (2 Replies)
Discussion started by: mjavalkar
2 Replies

8. Shell Programming and Scripting

XML tag replacement from different XML file

We have 2 XML file 1. ORIGINAL.xml file and 2. ATTRIBUTE.xml files, In the ORIGINAL.xml we need some modification as <resourceCode>431048</resourceCode>under <item type="Manufactured"> tag - we need to grab the 431048 value from tag and pass it to database table in unix shell script to find the... (0 Replies)
Discussion started by: balrajg
0 Replies

9. Shell Programming and Scripting

how to get xml tag..

Sorry to trouble you guys again.....but i encounter this problem: My textfile contains this: 2006-01-12 01:12:08,290 INFO - The XML message **************<PM_ARRIVAL xmlns:xsi= "http://www.w3.org/2001/XMLSchemainstance"><system_c>GMS</system_c><trans_c>ARLC</trans_c></<PM_ARRIVAL> 2006-01-12... (8 Replies)
Discussion started by: forevercalz
8 Replies
Login or Register to Ask a Question