Sponsored Content
Top Forums Shell Programming and Scripting awk Script to parse a XML tag Post 302733183 by agama on Monday 19th of November 2012 11:25:18 PM
Old 11-20-2012
Ah, very good, thanks.

Have a go with this:
Code:
 awk '
    /property name=/ {
        gsub( ".*value=" Q, "" );
        gsub( Q ".*", "" );
        print;
    }
' Q="'" RS="[<>]"

Embedding single quotes inside of an awk programme contained inside of single quotes is tricky. Several ways of dealing with it; I think this is the easiest. It assigns the single quote to Q, and then appends it to the strings in the substitution commands where needed.
This User Gave Thanks to agama For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Searching XML tag in a script

Hey, I need to parse the following XML to just grab the Customer ID. Is there any RegEx that can achieve this ? So in this example, the script just return 0000109654, as the output. Even if it involves awk, sed please let me know. ************ <?xml version="1.0" encoding="UTF-8"?>... (1 Reply)
Discussion started by: abhandari
1 Replies

2. 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

3. Emergency UNIX and Linux Support

Trying to parse a xml file for only one tag

I have a xml file in where I need to parse only a particular tag and print the output in the shell script. Here is the tag info in the xml file <dp:file> This is dp file output </dp:file> Output should be printed as This is dp file output. Please help.Thank you. (5 Replies)
Discussion started by: chandu123
5 Replies

4. Shell Programming and Scripting

awk command to insert a tag in XML

Hi All, I need a help on inserting a XML tag. Actual input <var> <nam>abcd</nam> <a1>.</a1> </var> if tag <a1>.</a1> is getting missed in XML like below <var> <nam>abcd</nam> </var> i need to insert wherever it is missed after <nam> tag and before </var> tag. Could anyone... (3 Replies)
Discussion started by: mohanalakshmi
3 Replies

5. Shell Programming and Scripting

Using shell command need to parse multiple nested tag value of a XML file

I have this XML file - <gp> <mms>1110012</mms> <tg>988</tg> <mm>LongTime</mm> <lv> <lkid>StartEle=ONE, Desti = Motion</lkid> <kk>12</kk> </lv> <lv> <lkid>StartEle=ONE, Source = Velocity</lkid> <kk>2</kk> </lv> <lv> ... (3 Replies)
Discussion started by: NeedASolution
3 Replies

6. Shell Programming and Scripting

XML Parse between to tag with upper tag

Hi Guys Here is my Input : <?xml version="1.0" encoding="UTF-8"?> <xn:MeContext id="01736"> <xn:VsDataContainer id="01736"> <xn:attributes> <xn:vsDataType>vsDataMeContext</xn:vsDataType> ... (12 Replies)
Discussion started by: pareshkp
12 Replies

7. Shell Programming and Scripting

To search for a particular tag in xml and collate all similar tag values and display them count

I want to basically do the below thing. Suppose there is a tag called object1. I want to display an output for all similar tag values under heading of Object 1 and the count of the xmls. Please help File: <xml><object1>house</object1><object2>child</object2>... (9 Replies)
Discussion started by: srkmish
9 Replies

8. Shell Programming and Scripting

XML files with spaces in the tag name, parse & display?

Greetings all, I have an XML file that is being generated from my application, here is a sample of the first tag (That I am trying to remove and display in a list..) Example- <tag one= "data" data="1234" updateTime="1300"> <tag one= "data1" data="1234" updateTime="1300"> <tag... (5 Replies)
Discussion started by: jeffs42885
5 Replies

9. Shell Programming and Scripting

Moving XML tag/contents after specific XML tag within same file

Hi Forum. I have an XML file with the following requirement to move the <AdditionalAccountHolders> tag and its content right after the <accountHolderName> tag within the same file but I'm not sure how to accomplish this through a Unix script. Any feedback will be greatly appreciated. ... (19 Replies)
Discussion started by: pchang
19 Replies

10. UNIX for Beginners Questions & Answers

Multiline html tag parse shell script

Hello, I want to parse the contents of a multiline html tag ex: <html> <body> <p>some other text</p> <div> <p class="margin-bottom-0"> text1 <br> text2 <br> <br> text3 </p> </div> </body> (15 Replies)
Discussion started by: SorcRR
15 Replies
XML::Stream::Node(3)					User Contributed Perl Documentation				      XML::Stream::Node(3)

NAME
XML::Stream::Node - Functions to make building and parsing the tree easier to work with. SYNOPSIS
Just a collection of functions that do not need to be in memory if you choose one of the other methods of data storage. This creates a hierarchy of Perl objects and provides various methods to manipulate the structure of the tree. It is much like the C library libxml. FORMAT
The result of parsing: <foo><head id="a">Hello <em>there</em></head><bar>Howdy<ref/></bar>do</foo> would be: [ tag: foo att: {} children: [ tag: head att: {id=>"a"} children: [ tag: "__xmlstream__:node:cdata" children: "Hello " ] [ tag: em children: [ tag: "__xmlstream__:node:cdata" children: "there" ] ] ] [ tag: bar children: [ tag: "__xmlstream__:node:cdata" children: "Howdy " ] [ tag: ref ] ] [ tag: "__xmlstream__:node:cdata" children: "do" ] ] METHODS
new() - creates a new node. If you specify tag, then the root new(tag) tag is set. If you specify data, then cdata is added new(tag,cdata) to the node as well. Returns the created node. get_tag() - returns the root tag of the node. set_tag(tag) - set the root tag of the node to tag. add_child(node) - adds the specified node as a child to the current add_child(tag) node, or creates a new node with the specified tag add_child(tag,cdata) as the root node. Returns the node added. remove_child(node) - removes the child node from the current node. remove_cdata() - removes all of the cdata children from the current node. add_cdata(string) - adds the string as cdata onto the current nodes child list. get_cdata() - returns all of the cdata children concatenated together into one string. get_attrib(attrib) - returns the value of the attrib if it is valid, or returns undef is attrib is not a real attribute. put_attrib(hash) - for each key/value pair specified, create an attribute in the node. remove_attrib(attrib) - remove the specified attribute from the node. add_raw_xml(string,[string,...]) - directly add a string into the XML packet as the last child, with no translation. get_raw_xml() - return all of the XML in a single string, undef if there is no raw XML to include. remove_raw_xml() - remove all raw XML strings. children() - return all of the children of the node in a list. attrib() - returns a hash containing all of the attributes on this node. copy() - return a recursive copy of the node. XPath(path) - run XML::Stream::XPath on this node. XPathCheck(path) - run XML::Stream::XPath on this node and return 1 or 0 to see if it matches or not. GetXML() - return the node in XML string form. AUTHOR
By Ryan Eatmon in June 2002 for http://jabber.org/ Currently maintained by Darian Anthony Patrick. COPYRIGHT
This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. perl v5.12.1 2010-01-08 XML::Stream::Node(3)
All times are GMT -4. The time now is 08:41 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy