Sponsored Content
Full Discussion: XML Parsing using awk
Top Forums Shell Programming and Scripting XML Parsing using awk Post 302734131 by birei on Wednesday 21st of November 2012 04:15:28 PM
Old 11-21-2012
Not awk. But here you have one solution using XML::Twig parser in perl:
Code:
$ cat xmlfile 
<root>
  <Target>
    <SeqNo>43156489079</SeqNo>
    <AuthenticationToken><![CDATA[nY+sHZ2PrBmdj6wVnY]]></AuthenticationToken>
    <RedCode>SKNEQGGEVHW</RedCode>
    <IncentiveGenError>Upload-Success</IncentiveGenError>
  </Target>
  <Target>
    <SeqNo>43156489070</SeqNo>
    <AuthenticationToken><![CDATA[nY+sHZ2PrBmdj6wVnY]]></AuthenticationToken>
    <RedCode>SKNEQGGEVHW</RedCode>
    <IncentiveGenError>Upload-Success</IncentiveGenError>
  </Target>
</root>
$ cat script.pl
#!/usr/bin/perl

use strict;
use warnings;
use XML::Twig;

{
        my $twig = XML::Twig->new(
                twig_handlers => {
                        'Target' => sub {
                                printf qq|%s\n|, 
                                        join q| |, 
                                        map { $_->trimmed_text } 
                                        grep { ! $_->is_cdata && $_->is_text } 
                                        $_->descendants
                        }
                },
        )->parsefile( shift );
}
$ perl-5.14.2 script.pl xmlfile 
43156489079 SKNEQGGEVHW Upload-Success
43156489070 SKNEQGGEVHW Upload-Success

 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Parsing XML dynamic data via awk?

I am trying to use a line of output in an XML file as input in another new XML file for processing purposes via a shell script. Since I am a newbie though, I'm not sure how to do this since the data is different everytime. I am using this technique with static data right now: echo -n "Running... (5 Replies)
Discussion started by: corwin43
5 Replies

2. Shell Programming and Scripting

parsing xml with awk/sed

Hi people!, I need extract from the file (test-file.txt) the values between <context> and </context> tag's , the total are 7 lines,but i can only get 5 or 2 lines!!:confused: Please look my code: #awk '/context/{flag=1} /\/context/{flag=0} !/context/{ if (flag==1) p rint $0; }'... (3 Replies)
Discussion started by: ricgamch
3 Replies

3. Shell Programming and Scripting

Parsing xml using awk - more help needed

As per another thread - https://www.unix.com/shell-programming-scripting/81027-how-can-i-parse-xml-file-2.html I am using the following to extract the Subaccid and RecAccTotal from the xm file below awk -v v=SubaccId -F'' '$2==v{s=$3;getline;a+=$3}END {for (i in a)print v,i,a}' file Can... (6 Replies)
Discussion started by: frustrated1
6 Replies

4. Shell Programming and Scripting

parsing xml using awk

hello , i am trying to parse xml using awk however its a little bit tricky as i want <databases> <source> <host>prod</host> <port>1522</port> <tns>GP1</tns> <user>P11</user>... (6 Replies)
Discussion started by: amit1_x
6 Replies

5. Shell Programming and Scripting

parsing(xml) using nawk/awk

Hi , I have an xml format as shown below: <Info> <last name="sean" first name="john"/> <period="5" time="11"/> <test value="1",test2 value="2",test3 value="3",test4 value="5"> <old> <value1>1</value1> <value2>2</value2> </old> <new> <value1>4</value1> <value2>3</value2> </new>... (1 Reply)
Discussion started by: natalie23
1 Replies

6. Shell Programming and Scripting

Parsing XML in awk : OFS does not work as expected

Hi, I am trying to parse regular XML file where I have to reduce number of decimal points in some xml elements. I am using following AWK command to achive that : #!/bin/ksh EDITCMD='BEGIN { FS = ""; OFS=FS } { if ( $3 ~ "*\\.*" && length(substr($3,1+index($3,"."))) == 15 ) {... (4 Replies)
Discussion started by: martin.franek
4 Replies

7. Shell Programming and Scripting

Help needed for parsing large XML with awk.

My XML structure looks like: <?xml version="1.0" encoding="UTF-8"?> <SearchRepository> <SearchItems> <SearchItem> ... </SearchItem> <SearchItem> ... ... (1 Reply)
Discussion started by: jasonjustice
1 Replies

8. Shell Programming and Scripting

xml parsing with awk

hi all.. need your help again.. i have xml file and i want to parsing some data from the xml file.. <ex-name="keroco"> <................> <................> <................> <br-name="cincai"> <ship="123456"> <...................> ... (3 Replies)
Discussion started by: buncit8
3 Replies

9. Shell Programming and Scripting

XML: parsing of the Google contacts XML file

I am trying to parse the XML Google contact file using tools like xmllint and I even dived into the XSL Style Sheets using xsltproc but I get nowhere. I can not supply any sample file as it contains private data but you can download your own contacts using this script: #!/bin/sh # imports... (9 Replies)
Discussion started by: ripat
9 Replies

10. Shell Programming and Scripting

Multiple command execution inside awk command during xml parsing

below is the output xml string from some other command and i will be parsing it using awk cat /tmp/alerts.xml <Alert id="10102" name="APP-DS-ds_ha-140018-componentFailure-S" alertDefinitionId="13982" resourceId="11427" ctime="1359453507621" fixed="false" reason="If Event/Log Level(ANY) and... (2 Replies)
Discussion started by: vivek d r
2 Replies
libxml(3)						     Library Functions Manual							 libxml(3)

NAME
libxml - library used to parse XML files DESCRIPTION
The libxml library is used to parse XML files. Its internal document repesentation is as close as possible to the DOM (Document Object Model) interface, an API for accessing XML or HTML structured documents. The libxml library also has a SAX-like interface, which is designed to be compatible with expat(1). NOTE: SAX, the Simple API for XML, is a standard interface for event-based XML parsing, developed collaboratively by the members of the XML-DEV mailing list, currently hosted by OASIS. The expat library is a XML 1.0 parser written in C, which aims to be fully conforming. It is currently not a validating XML pro- cessor. The libxml library now includes a nearly complete XPath implementation. The XPath (XML Path Language) is a language for addressing parts of an XML document, designed to be used by both XSLT and XPointer. The libxml library exports Push and Pull type parser interfaces for both XML and html. FILES
/depot/lib/libxml_2.0.0/libxml.a static library /depot/lib/libxml_2.0.0/libxml.so shareable library /depot/package/libxml_2.0.0/bin/xmllint binary application for parsing XML files AUTHORS
Daniel Veillard (daniel@veillard.com). Red Hat Inc. Manual page by Ziying Sherwin (sherwin@nlm.nih.gov), Lister Hill National Center for Biomedical Communications, U.S. National Library of Medicine. SEE ALSO
xmllint(1), libxslt(3), libexslt(3), xsltproc(1) 12 April 2000 libxml(3)
All times are GMT -4. The time now is 04:16 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy