Sponsored Content
Top Forums Shell Programming and Scripting Extract TAG name and XPATH from XML file via shellscript Post 302690509 by BithunC on Thursday 23rd of August 2012 06:04:08 AM
Old 08-23-2012
Quote:
Originally Posted by raj_saini20
yes with script anything can be done

But provide example having your scenario

Raj,

Here i attached 5 xml files for your reference. but in our share-path more than 10000 this type of xml file will be comming in every month.
we have to store all data into a oracle table (this can be more than one table if required).
at very begining we dont have any fixed oracle table, we have created three table as per elements we found in xml file.
Through SAS we successfully load all xml files into different oracle tables, but during that SAS script writing we have to write all elements name along with xpath manually and that was a truely boring work for all files.
by shell script we made one param file containing all names of xml files and passed that param file to our SAS code. SAS read all xml one by one and insert all data into oracle tables.
Now in coming week probably we will not be able to access SAS and we have to pull all xml data from that xml files in share-path into oracle table by one shell script.

now you suggest me is this possible or not.... check the xml files(attached) and give me some idea.

Last edited by BithunC; 08-23-2012 at 07:25 AM..
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Unable to extract a tag from a very long XML message

Hi I have a log file which contain XML message. I want to extract the value between the tag : <businessEventId>13201330</businessEventId> i.e., 13201330. I tried the following commands but as the message is very long, unable to do it. Attached is the log file. Please provide inputs. --... (3 Replies)
Discussion started by: Sapna_Sai
3 Replies

2. Shell Programming and Scripting

how to extract the info in the tag from a xml file

Hi All, Do anyone of you have any idea how to extract each<info> tag to each different file. I have 1000 raw files, which come in every 15 mins.( I am using bash) I have tried my script as below, but it took hours to finish, which is inefficiency. perl -n -e '/^<info>/ and open FH,">file".$n++;... (2 Replies)
Discussion started by: natalie23
2 Replies

3. Shell Programming and Scripting

Bash XML Parsing using Perl XPath

I have a bash script that needs to read input from an XML file, which includes varying numbers of a certain type of child node. I want to be able to iterate through all the child nodes of a given parent. I installed the Perl XML-XPath package from search.cpan.org. Once it's installed, from bash,... (4 Replies)
Discussion started by: jfmorales
4 Replies

4. Shell Programming and Scripting

extract xml tag based on condition

Hi All, I have a large xml file of invoices. The file looks like below: <INVOICES> <INVOICE> <NAME>Customer A</NAME> <INVOICE_NO>1234</INVOICE_NO> </INVOICE> <INVOICE> <NAME>Customer A</NAME> <INVOICE_NO>2345</INVOICE_NO> </INVOICE> <INVOICE> <NAME>Customer A</NAME>... (9 Replies)
Discussion started by: angshuman
9 Replies

5. Shell Programming and Scripting

XML tag replacement from different XML file

We have 2 XML file 1. ORIGINAL.xml file and 2. ATTRIBUTE.xml files, In the ORIGINAL.xml we need some modification as <resourceCode>431048</resourceCode>under <item type="Manufactured"> tag - we need to grab the 431048 value from tag and pass it to database table in unix shell script to find the... (0 Replies)
Discussion started by: balrajg
0 Replies

6. Shell Programming and Scripting

Extract multiple xml tag value into CSV format

Hi All, Need your assistance on another xml tag related issue. I have a xml file as below: <INVOICES> <INVOICE> <BILL> <BILL_NO>1234</BILL_NO> <BILL_DATE>01 JAN 2011</BILL_DATE> </BILL> <NAMEINFO> <NAME>ABC</NAME> </NAMEINFO> </INVOICE> <INVOICE> <BILL> <BILL_NO>5678</BILL_NO>... (12 Replies)
Discussion started by: angshuman
12 Replies

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

8. Shell Programming and Scripting

Extract XML tag value from file

Hello, Hope you are doing fine. I have an log file which looks like as follows: Some junk text1 Date: Thu Mar 15 13:38:46 CDT 2012 DATA SENT SUCCESSFULL: Some jun text 2 Date: Thu Mar 15 13:38:46 CDT 2012 DATA SENT SUCCESSFULL: ... (3 Replies)
Discussion started by: srattani
3 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

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
Template::Plugin::XML(3pm)				User Contributed Perl Documentation				Template::Plugin::XML(3pm)

NAME
Template::Plugin::XML - XML plugin for the Template Toolkit SYNOPSIS
[% USE XML; dom = XML.dom('foo.xml'); xpath = XML.xpath('bar.xml'); simple = XML.simple('baz.xml'); rss = XML.simple('news.rdf'); %] [% USE XML(file='foo.xml'); dom = XML.dom xpath = XML.xpath # ...etc... %] [% USE XML(dir='/path/to/xml'); file = XML.file('foo.xml' ); dom = file.dom xpath = file.xpath # ...etc... %] DESCRIPTION
The Template-XML distribution provides a number of Template Toolkit plugin modules for working with XML. The Template::Plugin::XML module is a front-end to the various other XML plugin modules. Through this you can access XML files and direc- tories of XML files via the Template::Plugin::XML::File and Template::Plugin::XML::Directory modules (which subclass from the Tem- plate::Plugin::File and Template::Plugin::Directory modules respectively). You can then create a Document Object Model (DOM) from an XML file (Template::Plugin::XML::DOM), examine it using XPath queries (Template::Plugin::XML::XPath), turn it into a Perl data structure (Tem- plate::Plugin::XML::Simple) or parse it as an RSS (RDF Site Summary) file. The basic XML plugins were distributed as part of the Template Toolkit until version 2.15 released in May 2006. At this time they were extracted into this separate Template-XML distribution and an alpha version of this Template::Plugin::XML front-end module was added. The Template::Plugin::XML module is still in development and not guaranteed to work correctly yet. However, all the other XML plugins are more-or-less exactly as they were in TT version 2.14 and should work as normal. For general information on the Template Toolkit see the documentation for the Template module or <http://template-toolkit.org>. For infor- mation on using plugins, see Template::Plugins and "USE" in Template::Manual::Directives. For further information on XML, see <http://xml.com/>. METHODS
The XML plugin module provides a number of methods to create various other XML plugin objects. file(name) Creates a Template::Plugin::XML::File object. This is a subclass of Template::Plugin::File. dir(path) Creates a Template::Plugin::XML::Directory object. This is a subclass of Template::Plugin::Directory. dom() Generate a Document Object Module from an XML file. This can be called against a directory, file or an XML plugin object, as long as the source XML filename is defined somewhere along the line. [% dom = XML.dom(filename) %] [% file = XML.file(filename); dom = file.dom %] [% dir = XML.dir(dirname); dom = dir.dom(filename) %] xpath() Perform XPath queries on the file. Like the dom() method, xpath() can be called against a file, directory or an XML plugin object. [% xpath = XML.xpath(filename) %] [% file = XML.file(filename); xpath = file.xpath %] [% dir = XML.dir(dirname); xpath = dir.xpath(filename) %] simple() TODO: As per dom() and xpath() but for XML::Simple rss() TODO: As per dom(), xpath() and simple() but for XML::RSS XML PLUGINS
These are the XML plugins provided in this distribution. Template::Plugin::XML Front-end module to the XML plugin collection. Template::Plugin::XML::File This plugin module is used to represent individual XML files. It is a subclass of the Template::Plugin::File module, providing the addi- tional dom(), xpath(), simple() and other methods relevant to XML files. Template::Plugin::XML::Directory This plugin module is used to represent directories of XML files. It is a subclass of the Template::Plugin::Directory module and provides the same additional XML related methods as Template::Plugin::XML::File. Template::Plugin::XML::DOM Plugin interface providing access to the XML::DOM module. [% USE XD = XML.Dom %] [% dom = XD.parse_file('example.xml') %] [% pages = dom.getElementsByTagName('page') %] Template::Plugin::XML::RSS Plugin interface providing access to the XML::RSS module. [% USE news = XML.RSS('news.rdf') -%] [% FOREACH item IN news.items -%] * [% item.title %] [% END %] Template::Plugin::XML::Simple Plugin interface providing access to the XML::Simple module. [% USE xml = XML.Simple('example.xml') %] Template::Plugin::XML::XPath Plugin interface providing access to the XML::XPath module. [% USE xpath = XML.XPath('example.xml'); bar = xpath.find('/foo/bar'); %] AUTHORS
Andy Wardley wrote the Template Toolkit plugin modules, with assistance from Simon Matthews in the case of the XML::DOM plugin. Matt Sergeant wrote the XML::XPath module. Enno Derksen and Clark Cooper wrote the XML::DOM module. Jonathan Eisenzopf wrote the XML::RSS mod- ule. Grant McLean wrote the XML::Simple module. Clark Cooper and Larry Wall wrote the XML::Parser module. James Clark wrote the expat library. COPYRIGHT
Copyright (C) 1996-2007 Andy Wardley. All Rights Reserved. This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. SEE ALSO
Template, Template::Plugins, Template::Plugin::XML::DOM, Template::Plugin::XML::RSS, Template::Plugin::XML::Simple, Template::Plug- in::XML::XPath perl v5.8.8 2008-03-01 Template::Plugin::XML(3pm)
All times are GMT -4. The time now is 01:23 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy