Sponsored Content
Top Forums Shell Programming and Scripting Replacing the last record in xml with different tags Post 302435743 by LinuxLearner on Thursday 8th of July 2010 06:40:55 AM
Old 07-08-2010
Replacing the last record in xml with different tags

I have special requirement, my system provided the xml file as below(available xml file) and I need to convert it as below desired xml file.
is it possible thru shell scripts or awk?

What I need is :
my available xml contains number of records with tags <RevenueAmounts>, the last of record is the summary record.
I need to replace the tags for the last record as shown in below sample. I need to provide the count of the record also,
desired changes are marked in different colors
Code:
 
/* avaialable xml file _start*/
<Report>
<RevenueAmounts element="1">        
                <GrossAccount name="monthly">
                        <Credit>0</Credit>
                        <Debit>7.45000</Debit>
                </GrossAccount>
                <DiscountAccount name="monthly">
                        <Credit>0</Credit>
                        <Debit>0</Debit>
                </DiscountAccount>
                <NetAccount name="monthly">
                        <Credit>0</Credit>
                        <Debit>7.45000</Debit>
                </NetAccount>
               </RevenueAmounts>
<RevenueAmounts element="2">        
                <GrossAccount name="monthly">
                        <Credit>0</Credit>
                        <Debit>7.45000</Debit>
                </GrossAccount>
                <DiscountAccount name="monthly">
                        <Credit>0</Credit>
                        <Debit>0</Debit>
                </DiscountAccount>
                <NetAccount name="monthly">
                        <Credit>0</Credit>
                        <Debit>7.45000</Debit>
                </NetAccount>
                </RevenueAmounts>
<RevenueAmounts element="3">        
                <GrossAccount name="monthly">
                        <Credit>0</Credit>
                        <Debit>14.90000</Debit>
                </GrossAccount>
                <DiscountAccount name="monthly">
                        <Credit>0</Credit>
                        <Debit>0</Debit>
                </DiscountAccount>
                <NetAccount name="monthly">
                        <Credit>0</Credit>
                        <Debit>14.90000</Debit>
                </NetAccount>
               </RevenueAmounts>
</Report>
/*Available xml file _end*/

Code:
 
/*desired xml file */
<Report>
<RevenueAmounts element="1">        
                <GrossAccount name="monthly">
                        <Credit>0</Credit>
                        <Debit>7.45000</Debit>
                </GrossAccount>
                <DiscountAccount name="monthly">
                        <Credit>0</Credit>
                        <Debit>0</Debit>
                </DiscountAccount>
                <NetAccount name="monthly">
                        <Credit>0</Credit>
                        <Debit>7.45000</Debit>
                </NetAccount>
                </RevenueAmounts>
<RevenueAmounts element="2">        
                <GrossAccount name="monthly">
                        <Credit>0</Credit>
                        <Debit>7.45000</Debit>
                </GrossAccount>
                <DiscountAccount name="monthly">
                        <Credit>0</Credit>
                        <Debit>0</Debit>
                </DiscountAccount>
                <NetAccount name="monthly">
                        <Credit>0</Credit>
                        <Debit>7.45000</Debit>
                </NetAccount>
                </RevenueAmounts>
<ReportTrailer>
<RevenueAmounts_total element_total="2">        
               <GrossAccount_total>
                       <Credit>0</Credit>
                       <Debit>14.90000</Debit>
               </GrossAccount_total>
               <DiscountAccount_total>
                       <Credit>0</Credit>
                       <Debit>0</Debit>
               </DiscountAccount_total>
               <NetAccount_total>
                       <Credit>0</Credit>
                       <Debit>14.90000</Debit>
               </NetAccount_total>
               </RevenueAmounts>
</ReportTrailer>
</Report>

to conclude,
Code:
<RevenueAmounts element="3">        
                <GrossAccount name="monthly">
                        <Credit>0</Credit>
                        <Debit>14.90000</Debit>
                </GrossAccount>
                <DiscountAccount name="monthly">
                        <Credit>0</Credit>
                        <Debit>0</Debit>
                </DiscountAccount>
                <NetAccount name="monthly">
                        <Credit>0</Credit>
                        <Debit>14.90000</Debit>
                </NetAccount>
               </RevenueAmounts>

I need to replace the above record with below:
Code:
 
<ReportTrailer>
<RevenueAmounts_total element_total="2">        
                <GrossAccount_total>
                        <Credit>0</Credit>
                        <Debit>14.90000</Debit>
                </GrossAccount_total>
                <DiscountAccount_total>
                        <Credit>0</Credit>
                        <Debit>0</Debit>
                </DiscountAccount_total>
                <NetAccount_total>
                        <Credit>0</Credit>
                        <Debit>14.90000</Debit>
                </NetAccount_total>
                </RevenueAmounts_total>
</ReportTrailer>

Any suggestion on how to do this very much appriciated.

Thank you very much
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

replacing string in an XML file

Hi all, I need to replace string in XML file..XML file like <dependency> <groupId>fr.orange.portail.ear</groupId> <artifactId>_AdminServicesEAR</artifactId> <version>1.0.0-20080521.085352-1</version> <type>ear</type> </dependency> <dependency> ... (2 Replies)
Discussion started by: subin_bala
2 Replies

2. UNIX for Advanced & Expert Users

How to read an Xml record contained in a file--urgent

Hi I have an xml file which has multiple xml records.. I don't know how to read those records and pipe them to another shell command the file is like <abc>z<def>y<ghi>x........</ghi></def></abc> (1st record) <jkl>z<mno>y<pqr>x........</pqr></mno></jkl> (2nd record) Each record end... (4 Replies)
Discussion started by: aixjadoo
4 Replies

3. Shell Programming and Scripting

Replacing number between xml tags with ksh shell script

Hallo, im basically a complete noob on shell scripting and im trying to replace or rather add 1 to a number between xml tags. The xml basically has a tag somewhere that looks like this: <tag>12345678901234</tag> Now i want to replace the number between the tags. And i want the file to... (6 Replies)
Discussion started by: Demoric
6 Replies

4. Shell Programming and Scripting

Replacing part of XML code inside comment tags

Hello! I'd like to modify custom values in a XML config file between comment tags using bash script. <feature> <keyboardshortcut>C-m</keyboardshortcut> <option1>disabled</option2> <option2>enabled</option2> </feature> <!-- bash script features START --> <feature> ... (2 Replies)
Discussion started by: prism1
2 Replies

5. Shell Programming and Scripting

Reading XML and replacing a string

Hi All, My thanks in advance for you guys reading this and for any posts. I'm having 100 XML files, I need script which replace a specific string. It must be incrementing in 100 xml files.. Sample XML files: <hwIPHostName type="attrib">DEMO1</hwIPHostName> I need Demo1 to be... (4 Replies)
Discussion started by: karty2129
4 Replies

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

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

8. Shell Programming and Scripting

Replacing a value in all xml's

Hi Folks, Could you please advise what will be the unix command to replace the character in all xml's under a particular directory for example let say I rite now at the following below location $ cd /opt/apr/rt/conf now under conf there are so many xml's and in those xml's i want to... (2 Replies)
Discussion started by: punpun66
2 Replies

9. Shell Programming and Scripting

Extract timestamp from first record in xml file and it checks if not it will replace first record

I have test.xml <emp><id>101</id><name>AAA</name><date>06/06/14 1811</date></emp> <Join><id>101</id><city>london</city><date>06/06/14 2011</date></join> <Join><id>101</id><city>new york</city><date>06/06/14 1811</date></join> <Join><id>101</id><city>sydney</city><date>06/06/14... (2 Replies)
Discussion started by: vsraju
2 Replies

10. Shell Programming and Scripting

Replacing tab value in xml file

Hi I am working on xml file. I have to make sure below lines containing values within quotes are replaced by some character like "-". Below are different lines in xml file. Pattern 1: <Connector port=.... ..... keystoremyPass="xxx" /> Pattern 2: myword="xxxxx" ... (11 Replies)
Discussion started by: krsnadasa
11 Replies
All times are GMT -4. The time now is 05:40 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy