Parsing XML using shell script


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Parsing XML using shell script
# 8  
Old 04-26-2012
xmllint seems to pack all output together. you may want to use 'xpath' (install Perl-XML-XPath)
Code:
$ xmllint --xpath '/RECORDS/RECORD/*[self::COUNTRY or self::POSTAL_CODE or self::STREET_BASE_NAME]/text()' a.xml 
Dózsa GyörgyHUN22434511HUN5475

$ xpath -e '/RECORDS/RECORD/*[self::COUNTRY or self::POSTAL_CODE or self::STREET_BASE_NAME]/text()' a.xml 
Found 6 nodes in a.xml:
-- NODE --
Dózsa György
-- NODE --
HUN
-- NODE --
2243
-- NODE --
4511
-- NODE --
HUN
-- NODE --
5475

$ xpath -e '/RECORDS/RECORD/*[self::COUNTRY or self::POSTAL_CODE or self::STREET_BASE_NAME]/text()' a.xml 2>/dev/null
Dózsa György
HUN
2243
4511
HUN
5475

# 9  
Old 04-30-2012
Install perl XML::XPath module

Code:
# yum install perl-XML-XPath.noarch
or
# perl -MCPAN -e 'install XML::XPath'

Try this:
Code:
$ cat xml.pl
#!/usr/bin/perl

use XML::XPath;
$,="\t";
$xp = XML::XPath->new(ioref => \*STDIN);
$nodeset = $xp->find('/RECORDS/RECORD');
foreach $node ($nodeset->get_nodelist) {
  @country=$node->find('COUNTRY/text()')->get_nodelist;
  @postal=$node->find('POSTAL_CODE/text()')->get_nodelist;
  @street=$node->find('STREET_BASE_NAME/text()')->get_nodelist;
  print $country[0]->getData(), $postal[0]->getData(), $street[0]->getData();
  print "\n";
}
 

$ ./xml.pl < input.xml
HUN	2243	Dózsa György
HUN	5475	4511

# 10  
Old 05-01-2012
Awkie:
Code:
awk '$1~"^(" s ")$"{print $2}' RS=\< FS=\> s="COUNTRY|POSTAL_CODE|STREET_BASE_NAME" infile

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Parsing custom data into xml in Shell

Hi , I have data as below in a text file { 'AAA' => { 'A1' => 'a1 comment', 'A2' => 'a2 comment' }, 'BBB' => { 'B1' => 'b1 comment' }, 'CCC' => { 'C1' => 'c1 comment', 'C2' => 'c2 comment', 'C3' => 'c3 comment' 'C4' => 'c4... (2 Replies)
Discussion started by: vivek d r
2 Replies

2. Shell Programming and Scripting

XML-Text Parsing Using shell scripting

HI Guys, I have to parse below xml file :- <xn:SubNetwork id="ONRM_ROOT_MO_R"> <xn:MeContext id="LP101"> <xn:ManagedElement id="1"> <xn:VsDataContainer id="1"> <xn:attributes> ... (8 Replies)
Discussion started by: asavaliya
8 Replies

3. Solaris

XML to Text file Parsing Using shell scripting

Hi, I want to parse an XML File using Shell Script preferably by using awk command, I/P file is : <gn:ExternalGsmCell id="016P3A"> <gn:attributes> <gn:mnc>410</gn:mnc> <gn:mcc>310</gn:mcc> <gn:lac>8016</gn:lac> ... (2 Replies)
Discussion started by: tech_frk
2 Replies

4. Shell Programming and Scripting

XML to Text file Parsing Using shell scripting

Hi folks, Need some help with XML to text file parsing , the following is the content of the XML File. <xn:SubNetwork id="SNJNPRZDCR0R03"> <xn:MeContext id="PRSJU0005"> <xn:VsDataContainer id="PRSJU0005"> <xn:attributes> ... (6 Replies)
Discussion started by: tech_frk
6 Replies

5. Shell Programming and Scripting

XML parsing using shell script

I have a xml file like this <bul:collectionStrategy name="strategy1"> <bul:collectionTemplateGroup name="15min group"/> <bul:collectionTemplateGroup name="hourly group"/> </bul:collectionStrategy> <bul:CollectionTemplateGroup name="hourly group" > ... (2 Replies)
Discussion started by: LavanyaP
2 Replies

6. Shell Programming and Scripting

Shell script for XML code parsing.

I need to create a shell script that can parse the below XML and send a string back adding all XML values. The text which's not in angular braces are to be printed. Sample code: <RequestBillsRsp... (9 Replies)
Discussion started by: xtatic
9 Replies

7. Shell Programming and Scripting

Shell script for XML code parsing.

Please help me to create a shell script that can parse the below XML and send a string back adding all XML values.:) <RequestBillsRsp... (1 Reply)
Discussion started by: xtatic
1 Replies

8. Shell Programming and Scripting

XML parsing in a shell script.

Below is a XML I have... <?xml version="1.0" encoding="UTF-8" ?> <component xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:XXXXX-www-Install-Manifest manifest.xsd" xmlns="urn:qqqqq-Install-Manifest" name="OM" ... (1 Reply)
Discussion started by: dashok.83
1 Replies

9. Shell Programming and Scripting

Parsing XML using Shell Script

Hello, I'm a starting shell scripter and no Perl knowledge. I've trying to do this for a while: I want to parse an XML file and get certain data out of it and write that data into a CSV file, all this using Shell Scripting (in Bash). Or Perl without any XML Parser/Interpreter (if possible). ... (1 Reply)
Discussion started by: Kage Musha
1 Replies

10. Shell Programming and Scripting

XML parsing through shell scritps

Hi, Am new to scripting. :) Am trying to figure out whether can i use bash scripting to parse an xml file. Parsing is not just pulling out information according to the pattern but its more of a generic parsing. I should identify the xml hierarchy and pull out information accordingly. It's not a... (2 Replies)
Discussion started by: karthikvela
2 Replies
Login or Register to Ask a Question