Read elements of a xml file??????


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Read elements of a xml file??????
# 1  
Old 01-23-2008
Read elements of a xml file??????

Hi,

What is a good way to read elements of an xml file? i did try xmllint it doesnt provide a function to output values of a tree. In the below example when i specify from Family2 I need the name of the father then the output should be DAVE. Appreciate any help provided in this regards.

Many thanks.

for instance:

Quote:
Family1 ---> Father----->JOHN
Family1 --->Mother----->ANN
Family2 ---> Father----->DAVE
Family2 ---> MOM----->LISA
<TREE>
<Family1>
<Father>
<name = John />
</Father>
<Mother>
<name = ANN />
</Mother>
</Family1>

<Family2>
<Father>
<name=DAVE />
</Father>
<Mother>
<name= Lisa />
</Mother>
</Family2>
</TREE>
# 2  
Old 01-23-2008
One way is to use sed repeatedly as the following example shows.

Code:
 sed -n '/\<Family2\>/,/\<\/Family2\>/p' file | sed -n '/\<Father\>/,/\<\/Father\>/p' | sed -n 's/\<name=\(.*\)\/\>/\1/p'

It outputs "DAVE".

A better way is to use something like the XML extension to gawk (XMLgawk)
# 3  
Old 01-23-2008
the above code is not working for me. and also could you please explain me in more details about XMLgawk? Thanks
# 4  
Old 01-23-2008
Does this works?
Code:
sed -n '/Family2/{n;n;s/<name=\(.*\)\/>/\1/p}' /tmp/Input

Thanks
Nagarajan G
# 5  
Old 01-23-2008
thats not the solution i am looking for, actually the format could be anything like all the data in one line or multiple lines. or in any well formed format of xml. I need a generic solution to pick the element values.

Anyways, Thanks for the efforts you put in it.
# 6  
Old 01-23-2008
I highly recommend using a XML::Parser for it

Its very easy to use and implement.

Initially for one of our tasks, without thinking about XML::Parser, I did wrote a mini XML::Parser which turned to be much complicated to maintain later.

Switch to parsers that are already available
# 7  
Old 01-24-2008
Quote:
Originally Posted by matrixmadhan
I highly recommend using a XML::Parser for it

Its very easy to use and implement.

Initially for one of our tasks, without thinking about XML::Parser, I did wrote a mini XML::Parser which turned to be much complicated to maintain later.

Switch to parsers that are already available
I am not able to locate any. Could you please point me to any???
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

How can we extract specific elements from XML?

Hi, I have a requirement to extract specific element value dynamically from XML message. Here is the sample message: <File> <List> <main> <dir>doc/store834/archive</dir> <count>5</count> </main> <main> <dir>doc/store834/extract</dir> <count>6</count> </main> <main> ... (3 Replies)
Discussion started by: renukeswar
3 Replies

2. Shell Programming and Scripting

Read file excluding XML in it

Hi , I have a file like below.I want all the content in a single line excluding the XML.How can i proceed? t=21 y=23 rg=xyz ..... <xmlstarts> . . <xmlends> lk=99 lo=09 (3 Replies)
Discussion started by: chetan.c
3 Replies

3. Shell Programming and Scripting

Extract only required elements from XML.

Hi , I have an XML like this. <Request> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <version>v44</version><messageId>7247308192</messageId><timeToLive>72000000000</timeToLive> </Request>. I want to extract on version and messageId. As in my output... (13 Replies)
Discussion started by: chetan.c
13 Replies

4. Shell Programming and Scripting

Help on awk to read xml file

Hello, I have a xml file as shown below. I want to parse the file and store data in variables. xml file looks like: <TEST NAME="DataBaseurl">jdbc:oracle:thin:@localhost:1521:ora10</TEST> <TEST NAME="Databaseuser">Pradeep</TEST> ...... and many other such lines i want to read this file and... (2 Replies)
Discussion started by: pradeepmacha
2 Replies

5. Shell Programming and Scripting

script to read XML file

Dear All, I have one log file and it contains lot of XML as below. ... (1 Reply)
Discussion started by: murtujak
1 Replies

6. Shell Programming and Scripting

Parsing XML elements and store them in array

Hi Friends Im so confused with using 'for' loop in ksh. I have a xml like the following: <serviceProvider> <serviceProviderID>1</serviceProviderID> <serviceProviderName>Balesh</serviceProviderName> <serviceFeeAmount>30.00</serviceFeeAmount> </serviceProvider>... (2 Replies)
Discussion started by: balesh
2 Replies

7. Shell Programming and Scripting

read and write to xml file

hi i am quite new to shell scripting and need help in reading and writing in xml file i have an xml file with format: <main> <store> <name>ABC</name> <flag>0</flag> <size>123<size> </store> <store> <name>DEF</name> ... (2 Replies)
Discussion started by: kichu
2 Replies

8. Shell Programming and Scripting

Read data in XML file

Hello Everybody, I have a question on reading the data from XML file through KSH shell script. In the below file I need to collect the patient control no and its respective insured id. I need to have pair of these values in single line separated by some special character, so that I could use... (2 Replies)
Discussion started by: swame_sp
2 Replies

9. Shell Programming and Scripting

Help using SED to comment XML elements

I'm trying to write a script to help automate some VERY tedious manual tasks. I have groups of fairly large XML files (~3mb+) that I need to edit. I need to look through the files and parse the XML looking for a certain flag contained in a field. If I find this flag (an integer value) I need... (4 Replies)
Discussion started by: J-Hon
4 Replies

10. Shell Programming and Scripting

Read xml file

Iam new to shell script. How to read xmlfile using shellscript(without awk),and Store record by record in file . My xml file: <root> <header> <HeaderData1>header1</HeaderData1> <HeaderData2>header2</HeaderData2> </header> <detailsRecord> ... (2 Replies)
Discussion started by: ram2s2001
2 Replies
Login or Register to Ask a Question