how to get specific xml tag ?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting how to get specific xml tag ?
# 1  
Old 01-08-2006
how to get specific xml tag ?

sorry to trouble u guys again...
i have this document here called record.txt and it contains 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>


i need to get the bold xml tag out.......and its a large set of data...heres only a sample of a part...i need the <record> tag out...
i have trouble getting the xml tag and i have try this command but it doesnt work for me
i tried this :sed -e '/record/ !d' -e 's!<record xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">\([^<]*\)</record>!\1!' $file > getrecord.txt

Last edited by forevercalz; 01-08-2006 at 10:31 PM..
# 2  
Old 01-09-2006
is the entire record on one line ?
if yes try this sed 's/\<record.*\<\/record\>//g' filename > outfile
# 3  
Old 01-09-2006
Code:
[/tmp]$ sed -n -e '/<record /{
N;
s_.*\(<record .*<\/record>\)_\1_p
}' in.txt

# 4  
Old 01-09-2006
i got this problem :[/tmp]$: not found
# 5  
Old 01-09-2006
linuxpenguin..i tried your code...but it doesnt work too..
# 6  
Old 01-09-2006
Quote:
Originally Posted by forevercalz
i got this problem :[/tmp]$: not found

The command is as simple as

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

[/tmp] $ is the prompt

Vino
# 7  
Old 01-09-2006
thanks for the coding......
however the output still contains a line that i need to delete..any idea?
<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_term
inal_c> </old_terminal_c><position_from_n>0</position_from_n><position_to_n>0</position_to_n><wharfside_i>P</wharfside_i><qc_r
ate_q>24.4</qc_rate_q><qc_intensity_q>2.9</qc_intensity_q><location_from_c>P21</location_from_c><location_to_c>P21</location_t
o_c><berth_pilot_i>true</berth_pilot_i><unberth_pilot_i>true</unberth_pilot_i><delay_c> </delay_c><status_c> </status_c><btr_d
t>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</sectio
n_n></record>
2005-12-05 10:53:17,641 [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>
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