04-25-2012
Here is my sample xml file; I'm interested in pulling out the following
COUNTRY POSTAL_CODE STREET_BASE_NAME
Code :
<?xml version="1.0" encoding="UTF-8"?>
<RECORDS PS3_VERSION="1104_01"><RECORD>
<POI_ID>931</POI_ID>
<SUPPLIER_ID>2</SUPPLIER_ID>
<POI_PVID>997920846</POI_PVID>
<DB_ID>1366650925</DB_ID>
<REGION>H1</REGION>
<POI_NAME NAME_TYPE="Official" LANG_CODE="HUN">coop</POI_NAME>
<TRANS_POI_NAME NAME_TYPE="Trans Official" LANG_CODE="ENG">coop</TRANS_POI_NAME>
<CATEGORY>5400</CATEGORY>
<CATEGORY_NAME>Grocery Store</CATEGORY_NAME>
<STREET_BASE_NAME>Dózsa György</STREET_BASE_NAME>
<TRANS_STREET_BASE_NAME>Dózsa György</TRANS_STREET_BASE_NAME>
<STREET_TYPE>út</STREET_TYPE>
<TRANS_STREET_TYPE>út</TRANS_STREET_TYPE>
<ADMIN4>Kóka</ADMIN4>
<TRANS_ADMIN4>Kóka</TRANS_ADMIN4>
<ADMIN3>Kóka</ADMIN3>
<TRANS_ADMIN3>Kóka</TRANS_ADMIN3>
<ADMIN2>Pest</ADMIN2>
<TRANS_ADMIN2>Pest</TRANS_ADMIN2>
<COUNTRY_NAME>Magyarország</COUNTRY_NAME>
<TRANS_COUNTRY>Magyarország</TRANS_COUNTRY>
<COUNTRY>HUN</COUNTRY>
<POSTAL_CODE>2243</POSTAL_CODE>
<PHONE_NUMBER Preferred="TRUE">29-428110</PHONE_NUMBER>
<AREA_CODE>29</AREA_CODE>
<LOCAL_NUMBER>428110</LOCAL_NUMBER>
<CHAIN_ID>1776</CHAIN_ID>
<CHAIN_NAME>coop</CHAIN_NAME>
<PERCENT_FROM_REF_NODE>90</PERCENT_FROM_REF_NODE>
<IPD_FLAG>0</IPD_FLAG>
<LINK_ID>322566747</LINK_ID>
<LINK_PVID>598117304</LINK_PVID>
<LINK_FUNCTIONAL_CLASS>4</LINK_FUNCTIONAL_CLASS>
<LINK_DETAILED_CITY>N</LINK_DETAILED_CITY>
<LINK_IN_PROCESS>N</LINK_IN_PROCESS>
<LINK_IN_POI_ACCESS>N</LINK_IN_POI_ACCESS>
<CONTROLLED_ACCESS>N</CONTROLLED_ACCESS>
<SIDE>R</SIDE>
<HOUSE_NUMBER_FORMAT> </HOUSE_NUMBER_FORMAT>
<STREET_LANGUAGE>HUN</STREET_LANGUAGE>
<NATIONAL_IMPORTANCE>N</NATIONAL_IMPORTANCE>
<PRIVATE_ACCESS>N</PRIVATE_ACCESS>
<DATE_POI_ADDED>23-OCT-08</DATE_POI_ADDED>
<PROGRAM_THAT_ADDED_A_POI>SYNC_PRIME</PROGRAM_THAT_ADDED_A_POI>
<LAST_UPDATED_DATE_OF_POI>29-MAR-10</LAST_UPDATED_DATE_OF_POI>
<PROGRAM_THAT_LAST_UPDATED_THE_POI>NBS_IMPORT_UPDATE</PROGRAM_THAT_LAST_UPDATED_THE_POI>
<LONGITUDE>19.57616</LONGITUDE>
<LATITUDE>47.48316</LATITUDE>
<DATA_SOURCE_ID>28091109</DATA_SOURCE_ID>
<CATALOG>09</CATALOG>
<LONG_HAUL_OF_POI>N</LONG_HAUL_OF_POI>
<CALCULATED_LEVEL>0</CALCULATED_LEVEL>
<PLACE_SCORE>0</PLACE_SCORE>
<LOCATION_SCORE>0</LOCATION_SCORE>
<NAICS_ID>-1</NAICS_ID>
<CATEGORY_SYSTEM>NT</CATEGORY_SYSTEM>
</RECORD>
<RECORD>
<POI_ID>946</POI_ID>
<SUPPLIER_ID>2</SUPPLIER_ID>
<POI_PVID>997928552</POI_PVID>
<DB_ID>1367398055</DB_ID>
<REGION>H1</REGION>
<POI_NAME NAME_TYPE="Official" LANG_CODE="HUN">Csépa posta</POI_NAME>
<TRANS_POI_NAME NAME_TYPE="Trans Official" LANG_CODE="ENG">Csépa posta</TRANS_POI_NAME>
<CATEGORY>9530</CATEGORY>
<CATEGORY_NAME>Post Office</CATEGORY_NAME>
<STREET_BASE_NAME>4511</STREET_BASE_NAME>
<TRANS_STREET_BASE_NAME>4511</TRANS_STREET_BASE_NAME>
<ADMIN4>Csépa</ADMIN4>
<TRANS_ADMIN4>Csépa</TRANS_ADMIN4>
<ADMIN3>Csépa</ADMIN3>
<TRANS_ADMIN3>Csépa</TRANS_ADMIN3>
<ADMIN2>Jász-Nagykun-Szolnok</ADMIN2>
<TRANS_ADMIN2>Jász-Nagykun-Szolnok</TRANS_ADMIN2>
<COUNTRY_NAME>Magyarország</COUNTRY_NAME>
<TRANS_COUNTRY>Magyarország</TRANS_COUNTRY>
<COUNTRY>HUN</COUNTRY>
<POSTAL_CODE>5475</POSTAL_CODE>
<PHONE_NUMBER Preferred="TRUE">56-323000</PHONE_NUMBER>
<AREA_CODE>56</AREA_CODE>
<LOCAL_NUMBER>323000</LOCAL_NUMBER>
<PERCENT_FROM_REF_NODE>10</PERCENT_FROM_REF_NODE>
<IPD_FLAG>0</IPD_FLAG>
<LINK_ID>646822303</LINK_ID>
<LINK_PVID>708379688</LINK_PVID>
<LINK_FUNCTIONAL_CLASS>4</LINK_FUNCTIONAL_CLASS>
<LINK_DETAILED_CITY>N</LINK_DETAILED_CITY>
<LINK_IN_PROCESS>N</LINK_IN_PROCESS>
<LINK_IN_POI_ACCESS>N</LINK_IN_POI_ACCESS>
<CONTROLLED_ACCESS>N</CONTROLLED_ACCESS>
<SIDE>L</SIDE>
<HOUSE_NUMBER_FORMAT> </HOUSE_NUMBER_FORMAT>
<STREET_LANGUAGE>HUN</STREET_LANGUAGE>
<NATIONAL_IMPORTANCE>N</NATIONAL_IMPORTANCE>
<PRIVATE_ACCESS>N</PRIVATE_ACCESS>
<DATE_POI_ADDED>23-OCT-08</DATE_POI_ADDED>
<PROGRAM_THAT_ADDED_A_POI>SYNC_PRIME</PROGRAM_THAT_ADDED_A_POI>
<LAST_UPDATED_DATE_OF_POI>18-MAY-09</LAST_UPDATED_DATE_OF_POI>
<PROGRAM_THAT_LAST_UPDATED_THE_POI>NBS_IMPORT_UPDATE</PROGRAM_THAT_LAST_UPDATED_THE_POI>
<LONGITUDE>20.1264</LONGITUDE>
<LATITUDE>46.80777</LATITUDE>
<DATA_SOURCE_ID>28091109</DATA_SOURCE_ID>
<CATALOG>09</CATALOG>
<LONG_HAUL_OF_POI>N</LONG_HAUL_OF_POI>
<CALCULATED_LEVEL>0</CALCULATED_LEVEL>
<PLACE_SCORE>0</PLACE_SCORE>
<LOCATION_SCORE>0</LOCATION_SCORE>
<NAICS_ID>-1</NAICS_ID>
<CATEGORY_SYSTEM>NT</CATEGORY_SYSTEM>
</RECORD>
</RECORDS>
I have tried the following but am not successful:
Code :
xmllint --xpath '/RECORDS/RECORD/COUNTRY[text()="COUNTRY"]/following-sibling::string[position()=1]/text()
I want the output to be tab delimited, how to do this.
I have also tried the following(itkamaraj's solution) but my output file has more than desired output
Code :
awk -F"[<>]" 'BEGIN{print "ISO POSTAL_CODE STREET_BASE_NAME"} /COUNTRY/{a=$3} /POSTAL_CODE/{b=$3} /STREET_BASE_NAME/{c=$3}{print a,b,c}' text.xml >res.dat
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
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
2. Shell Programming and Scripting
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
3. Shell Programming and Scripting
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
4. Shell Programming and Scripting
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
5. Shell Programming and Scripting
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
6. Shell Programming and Scripting
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
7. Shell Programming and 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
8. Solaris
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
9. Shell Programming and 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
10. Shell Programming and Scripting
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