Data between XML Tags


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Data between XML Tags
# 1  
Old 04-05-2012
Data between XML Tags

Code:
<?xml version="1.0" encoding="iso-8859-1" ?>
<TABLE>
   <TEST>
      <ID> 123 </ID>
      <name> abc </name>
   </TEST>
   <TEST>
      <ID> 123 </ID>
      <name> abc2 </name>
   </TEST>
</TABLE>
<TABLE>
   <TEST>
      <ID> 456 </ID>
      <name> def </name>
   </TEST>
   <TEST>
      <ID> 456 </ID>
      <name> def2 </name>
   </TEST>
</TABLE>


how to get data between the tags <TABLE> </TABLE> as individual rows in a file?

Moderator's Comments:
Mod Comment Code tags for code, please.
# 2  
Old 04-05-2012
What would the output you want actually look like?
# 3  
Old 04-05-2012
What would you like your output file to look like and are there things you have been trying yourself?
# 4  
Old 04-05-2012
Okay.. The actual output I need is two columns ID and XML and two rows with ID Values 123, 456 and XML values should be the whole text between the tags table. If this cannot be achieved let me know how to extract data between the tags table and write it to a file. I can work out from there.

Code:
ID|XML
123|<TABLE> <TEST> <ID> 123 </ID> <name> abc </name> </TEST> <TEST> <ID> 123 </ID> <name> abc2 </name> </TEST> </TABLE>
456|<TABLE> <TEST> <ID> 456 </ID> <name> def </name> </TEST> <TEST> <ID> 456 </ID> <name> def2 </name> </TEST> </TABLE>

Moderator's Comments:
Mod Comment Welcome to the UNIX and Linux Forums. Please use code tags. Video tutorial on how to use them
# 5  
Old 04-05-2012
Alright, what have you tried so far, eskay?
# 6  
Old 04-05-2012
I haven't tried anything worthy. I am trying few sed and awk commands which I found here like sed -n '/<TABLE>/,/<\/TABLE>/p' test.xml but I am getting the whole data. I am newbie to UNIX shell scripting.
# 7  
Old 04-05-2012
OK, see if this works:
Code:
awk '/<TABLE/{print RS}NR>1' infile | awk 'BEGIN{print "ID|XML"} {$1=$4"|"$1}1' RS=

A prerequisite is that the id tags are always in the right order within that table, otherwise you need to use something a little bit more complicated..
This User Gave Thanks to Scrutinizer For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Extracting data between continuous non empty xml tags

Hi, I need help in extracting only the phone numbers between the continuous non empty xml tags in unix. I searched through a lot of forum but i did not get exact result for my query. Please help Given below is the sample pipe delimited file. I have a lot of tags before and after... (6 Replies)
Discussion started by: zen01234
6 Replies

2. Shell Programming and Scripting

How can I replace data in between xml tags to required format?

Hi All, I have a requirement to change the data in xml file to required format. Below is the scenario. Please find the attached Xml file which contains data that I need to convert.. <ReleaseIndicatorList><ReleaseIndicator>Alternative... (0 Replies)
Discussion started by: Prathyu
0 Replies

3. UNIX for Advanced & Expert Users

Shell Script to read XML tags and the data within that tag

Hi unix Gurus, I am really new to Unix Scripting. Please help me to create a shell script which reads the xml file and from that i need to fetch a particular information. For example <SOURCE BUSINESSNAME ="" DATABASETYPE ="Teradata" DBDNAME ="DWPROD3" DESCRIPTION ="" NAME... (2 Replies)
Discussion started by: SmilePlease
2 Replies

4. Shell Programming and Scripting

Shell script to extract data in repeating tags from xml

Hi, I am new to shell scripting. I need to extract data between repeating tags from an xml file and store the data in an array to process it further. <ns1:root xmlns:ns1="http://example.com/config"> <ns1:interface>in1</ns1:interface> <ns1:operation attribute1="true" attribute2="abd"... (2 Replies)
Discussion started by: sailendra
2 Replies

5. Shell Programming and Scripting

print xml data without the tags.

Hi All, I'm trying to extract data from an xml file but without the codes. I've achieved it but i was wondering if there's a better way to do this. sample data: $ cat xmlfile <code> <to>tove</to> <from>jani</from> <heading>reminder</heading> <body>dont forget me</body> </code> ... (4 Replies)
Discussion started by: Irishboy24
4 Replies

6. 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

7. Shell Programming and Scripting

How to update data between xml tags

Is there a way to modify Non Null data between <host> and </host> tags to a new value ?- may be using sed/awk? I tried this sed 's|.*<host>\(?*\)</host>.*|\<host>xxx</host>|' but it is updating the host which has null value - want opposite of this - Thanks in advance for you help!! For... (2 Replies)
Discussion started by: harry_todd
2 Replies

8. Shell Programming and Scripting

how to get data from xml files tags(from data tags)

i have a file like <fruits> <apple>redcolor<\apple> <bana:rolleyes:na>yellow color and it is<\banana> </fruits> i need a text between apple and bannana ans so on.... how to read a text between a tags it multiple tags with differnt names (9 Replies)
Discussion started by: pvr_satya
9 Replies

9. UNIX for Dummies Questions & Answers

Removing leading and trailing spaces of data between the tags in xml.

I am having xml document as below. <transactionid> 00 </transactionid> <tracknumber> 0 </tracknumber> <key> N/A </key> But the data contains leading and trailing spaces between the tags. Please let me know how can i remove these leading and trailing spaces between the tags.... (2 Replies)
Discussion started by: jhmr7
2 Replies
Login or Register to Ask a Question