How to pull multiple XML tags from the same XML file in Shell.?


 
Thread Tools Search this Thread
Top Forums UNIX for Beginners Questions & Answers How to pull multiple XML tags from the same XML file in Shell.?
Prev   Next
# 10  
Old 02-01-2020
Quote:
my preference - both for speed and convenience - is to use native tools in the OS stack
Ok, you really appreciate native tools? Me too ;-)

Good news. As I wrote before(libxml2 change xpath result separator): The change for newline-separators had been made within the source-code of libxml as of Sep 2018.

I just compiled libxml2 and verified that it works as expected:

Code:
$ xmllint-current --xpath "//SeriesName/text()" data.xml

Chappelle's Show
Dave Chappelle
Challenge of the SuperFriends
Challenge of the GoBots
CHALLENGER
Challenger Disaster: Lost Tapes
Challenging Taboos
Challenge Accepted

So it's only a matter of time until it flows downstream into the major distributions. But if one has the need to be really compatible, one better may take other approaches.

...and l like hearing that my efforts contributed to your knowledge.

Last edited by stomp; 02-01-2020 at 07:42 PM..
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Grepping multiple XML tag results from XML file.

I want to write a one line script that outputs the result of multiple xml tags from a XML file. For example I have a XML file which has below XML tags in the file: <EMAIL>***</EMAIL> <CUSTOMER_ID>****</CUSTOMER_ID> <BRANDID>***</BRANDID> Now I want to grep the values of all these specified... (1 Reply)
Discussion started by: shubh752
1 Replies

2. Shell Programming and Scripting

Splitting a single xml file into multiple xml files

Hi, I'm having a xml file with multiple xml header. so i want to split the file into multiple files. Sample.xml consists multiple headers so how can we split these multiple headers into multiple files in unix. eg : <?xml version="1.0" encoding="UTF-8"?> <ml:individual... (3 Replies)
Discussion started by: Narendra921631
3 Replies

3. Shell Programming and Scripting

Split xml file into multiple xml based on letterID

Hi All, We need to split a large xml into multiple valid xml with same header(2lines) and footer(last line) for N number of letterId. In the example below we have first 2 lines as header and last line as footer.(They need to be in each split xml file) Header: <?xml version="1.0"... (5 Replies)
Discussion started by: vx04
5 Replies

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

5. Shell Programming and Scripting

How to add Xml tags to an existing xml using shell or awk?

Hi , I have a below xml: <ns:Body> <ns:result> <Date Month="June" Day="Monday:/> </ns:result> </ns:Body> i have a lookup abc.txtt text file with below details Month June July August Day Monday Tuesday Wednesday I need a output xml with below tags <ns:Body> <ns:result>... (2 Replies)
Discussion started by: Nevergivup
2 Replies

6. Shell Programming and Scripting

Shell Command to compare two xml lines while ignoring xml tags

I've got two different files and want to compare them. File 1 : HTML Code: <response ticketId="944" type="getQueryResults"><status>COMPLETE</status><description>Query results fetched successfully</description><recordSet totalCount="1" type="sms_records"><record... (1 Reply)
Discussion started by: Shaishav Shah
1 Replies

7. Shell Programming and Scripting

Help required in Splitting a xml file into multiple and appending it in another .xml file

HI All, I have to split a xml file into multiple xml files and append it in another .xml file. for example below is a sample xml and using shell script i have to split it into three xml files and append all the three xmls in a .xml file. Can some one help plz. eg: <?xml version="1.0"?>... (4 Replies)
Discussion started by: ganesan kulasek
4 Replies

8. Shell Programming and Scripting

How to add the multiple lines of xml tags before a particular xml tag in a file

Hi All, I'm stuck with adding multiple lines(irrespective of line number) to a file before a particular xml tag. Please help me. <A>testing_Location</A> <value>LA</value> <zone>US</zone> <B>Region</B> <value>Russia</value> <zone>Washington</zone> <C>Country</C>... (0 Replies)
Discussion started by: mjavalkar
0 Replies

9. Shell Programming and Scripting

Trying to pull a variable out of an xml file...

Hello. I'm new to *ix and am trying to pull a variable or two from an xml document. The document is in the format: <name>7_3(A).mov</name> <description>Some description from a file</description> <updatename>7_3_A.mov</updatename> <updatepath>Dailies Released</updatepath> ... (3 Replies)
Discussion started by: Renfield
3 Replies

10. Shell Programming and Scripting

How to remove xml namespace from xml file using shell script?

I have an xml file: <AutoData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Table1> <Data1 10 </Data1> <Data2 20 </Data2> <Data3 40 </Data3> <Table1> </AutoData> and I have to remove the portion xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" only. I tried using sed... (10 Replies)
Discussion started by: Gary1978
10 Replies
Login or Register to Ask a Question
MKDoc::XML::Tagger(3pm) 				User Contributed Perl Documentation				   MKDoc::XML::Tagger(3pm)

NAME
MKDoc::XML::Tagger - Adds XML markup to XML / XHTML content. SYNOPSIS
use MKDoc::XML::Tagger; print MKDoc::XML::Tagger->process_data ( "<p>Hello, World!</p>", { _expr => 'World', _tag => 'strong', class => 'superFort' } ); Should print: <p>Hello, <strong class="superFort">World</strong>!</p> SUMMARY
MKDoc::XML::Tagger is a class which lets you specify a set of tag and attributes associated with expressions which you want to mark up. This module will then stuff any XML you send out with the extra expressions. For example, let's say that you have a document which has the term 'Microsoft Windows' several times in it. You could wish to surround any instance of the term with a <trademark> tag. MKDoc::XML::Tagger lets you do exactly that. In MKDoc, this is used so that editors can enter hyperlinks separately from the content. It allows them to enter content without having to worry about the annoying <a href="..."> syntax. It also has the added benefit from preventing bad information architecture such as the 'click here' syndrome. We also have plans to use it for automatically linking glossary words, abbreviation tags, etc. MKDoc::XML::Tagger is also probably a very good tool if you are building some kind of Wiki system in which you want expressions to be automagically hyperlinked. DISCLAIMER
This module does low level XML manipulation. It will somehow parse even broken XML and try to do something with it. Do not use it unless you know what you're doing. API
The API is very simple. my $result = MKDoc::XML::Tagger->process_data ($xml, @expressions); Tags $xml with the @expressions list. Each element of @expressions is a hash reference looking like this: { _expr => 'Some Expression', _tag => 'foo', attribute1 => 'bar' attribute2 => 'baz' } Which will try to turn anything which looks like: Some Expression sOmE ExPrEssIoN (etcetera) Into: <foo attr1="bar" attr2="baz">Some Expression</foo> <foo attr1="bar" attr2="baz">sOmE ExPrEssIoN</foo> <foo attr1="bar" attr2="baz">(etcetera)</foo> You can have multiple expressions, in which case longest expressions are processed first. my $result = MKDoc::XML::Tagger->process_file ('some/file.xml', @expressions); Same as process_data(), except it takes its data from 'some/file.xml'. NOTES
MKDoc::XML::Tagger does not really parse the XML file you're giving to it nor does it care if the XML is well-formed or not. It uses MKDoc::XML::Tokenizer to turn the XML / XHTML file into a series of MKDoc::XML::Token objects and strictly operates on a list of tokens. For this same reason MKDoc::XML::Tagger does not support namespaces. AUTHOR
Copyright 2003 - MKDoc Holdings Ltd. Author: Jean-Michel Hiver This module is free software and is distributed under the same license as Perl itself. Use it at your own risk. SEE ALSO
MKDoc::XML::Tokenizer MKDoc::XML::Token perl v5.10.1 2005-03-10 MKDoc::XML::Tagger(3pm)