Need to Parse XML from bash script


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Need to Parse XML from bash script
# 1  
Old 07-16-2009
Need to Parse XML from bash script

I am completely new to bash scripting and now need to write a bash script that would parse a XML file and take out values from specific tags.

I tried using xsltproc, xml_grep commands. But the issue is that the XML i am trying to parse is not UTF 8. so those commands are unable to parse my XML's or i am unable to find a woraround for that in xsltproc or xml_grep

Can some one help me in writing a direct script code (something other than utilities like xsltroc or xml_grep) that would pull me the value of the <url></url> tag irrespective the xml being well formed or not

This is the sample xml below
Code:
<site>
 <form>
        <url>http://www.bankoamerica.com/state.cgi?section=signin</url>
        <method>GET</method>
    </form>
</site>

Note: Use CODE-tags when displaying code, data or logs for better readability and to keep formatting like indention etc., ty.

Last edited by zaxxon; 07-16-2009 at 08:59 AM.. Reason: code tags
# 2  
Old 07-16-2009
something like this :

Code:
sed -n 's|<url>\(.*\)</url>|\1|p'  file_name.xml

# 3  
Old 07-16-2009
XML parsing in bash

Hi panyam
Thanks. This is working fine. The XML that i gave is a small chunk of a very big one. Can this sed command be changed so that it will give me only URL's that starts with http, https or www. I have some places where this url tag occurs and having diffeent values.
Code:
<site>
<form>
<url>http://www.bankofamerica.com</url>
<url>https://www.bankofamerica.com</url>
<url>www.bankofamerica.com</url>
<url>sitekey.bankofamerica.com</url
</form>
</site>

In the above example i just want the first 3 as a result and not the last one. Can you please help

Last edited by shivashankar.g; 07-16-2009 at 09:37 AM.. Reason: code tags
# 4  
Old 07-16-2009
Code:
sed -n 's|<url>\(.*\)</url>|\1|p' your_file.xml | egrep "^http|^www"

# 5  
Old 07-17-2009
Thanks Panyam.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Parse xml in shell script and extract records with specific condition

Hi I have xml file with multiple records and would like to extract records from xml with specific condition if specific tag is present extract entire row otherwise skip . <logentry revision="21510"> <author>mantest</author> <date>2015-02-27</date> <QC_ID>334566</QC_ID>... (12 Replies)
Discussion started by: madankumar.t@hp
12 Replies

2. Shell Programming and Scripting

BASH script to parse XML and generate CSV

Hi All, Hope all you are doing good! Need your help. I have an XML file which needs to be converted CSV file. I am not an expert of awk/sed so your help is highly appreciated!! XML file looks like this: <l:event dateTime="2013-03-13 07:15:54.713" layerName="OSB" processName="ABC"... (2 Replies)
Discussion started by: bhaskar_m
2 Replies

3. Shell Programming and Scripting

How to Parse the XML data along with the URL in Shell Script?

Hi, Can anybody help to solve this. I want to parse some xmldata along with the URL in the Shell. I'm calling the URL via the curl command Given below is my shell script file export... (7 Replies)
Discussion started by: Megala
7 Replies

4. Shell Programming and Scripting

awk Script to parse a XML tag

I have an XML tag like this: <property name="agent" value="/var/tmp/root/eclipse" /> Is there way using awk that i can get the value from the above tag. So the output should be: /var/tmp/root/eclipse Help will be appreciated. Regards, Adi (6 Replies)
Discussion started by: asirohi
6 Replies

5. Shell Programming and Scripting

Shell script (not Perl) to parse xml with awk

Hi, I have to make an script according to these: - I have couples of files like: xxxxxxxxxxxxx.csv xxxxxxxxxxxxx_desc.xml - every xml file has diferent fields, but keeps this format: ........ <defaultName>2011-02-25T16:43:43.582Z</defaultName> ........... (2 Replies)
Discussion started by: Pluff
2 Replies

6. Shell Programming and Scripting

Parse XML file in shell script

Hi Everybody, I have an XML file containing some data and i want to extract it, but the specific issue in my file is that the data is repeated some times like the following example : <section1> <subsection1> X=... Y=... Z=... <\subsection1> <subsection2> X=... Y=... Z=...... (2 Replies)
Discussion started by: yassine
2 Replies

7. Shell Programming and Scripting

Facing issue while using xsltproc tp parse XML in bash

I have written a bash script which opens a folder, reads all the *.xml files in it, and pulls the required data that i need from XML tags. I am using xsltproc (my xsl name) (my xml folder location/*.xml) and running this in a for each loop The problem is that some XML files are having special... (3 Replies)
Discussion started by: shivashankar.g
3 Replies

8. Shell Programming and Scripting

regex/shell script to Parse through XML Records

Hi All, I have been working on something that doesn't seem to have a clear regex solution and I just wanted to run it by everyone to see if I could get some insight into the method of solving this problem. I have a flat text file that contains billing records for users, however the records... (5 Replies)
Discussion started by: Jerrad
5 Replies

9. Shell Programming and Scripting

Need help in creating a Unix Script to parse xml file

Hi All, My requirement is create an unix script to parse the xml file and display the values of the Elements/value between the tags on console. Like say, I would like to fetch the value of errorCode from the below xml which is 'U007' and display it. Can we use SED command for this? I have tried... (10 Replies)
Discussion started by: Anil.Wmg
10 Replies

10. Shell Programming and Scripting

Parse a string in XML file using shell script

Hi! I'm just new here and don't know much about shell scripting. I just want to ask for help in creating a shell script that will parse a string or value of the status in the xml file. Please sample xml file below. Can you please help me create a simple script to get the value of status? Also it... (46 Replies)
Discussion started by: ayhanne
46 Replies
Login or Register to Ask a Question