Sponsored Content
Top Forums Shell Programming and Scripting How to retrieve values from XML file and update them in the same position! PLEASE HELP? Post 302963058 by JulioAmerica on Wednesday 23rd of December 2015 05:15:42 AM
Old 12-23-2015
Tools How to retrieve values from XML file and update them in the same position! PLEASE HELP?

Good Day All

Im quiet new to ksh scripting and need a bit of your help. I am attempting to write a script that reads in an XML and extracts certain field values from an XML file. The values are all alphanumeric and consist of two components: e.g "Test 1".

I need to to create a script that will increment the number value in those fields as I and update the original value in the xml file. I have read up about GREP and SED commands but do not know how to properly execute them.

Below I have added the "Test.xml" I need to use.

<?xml version="1.0" standalone="yes"?>
<GROUP ID="062001" Name="CIF: Create Customer">
<TX>
<FIELD Format="9(17)" ID="accntNumber1" />
<FIELD Format="XX" ID="cust_type1" value="01"/>
<FIELD Format="9(5)" ID="DefInteger1" />
<FIELD Format="99" ID="title1" value="01"/>
<FIELD Format="X(20)" ID="firstname1" value="Test 11"/>
<FIELD Format="X(20)" ID="firstname2" />
<FIELD Format="X(35)" ID="surname1" value="Test 11"/>
<FIELD Format="X(5)" ID="surname2" />
<FIELD Format="X(60)" ID="name" />
<FIELD Format="X(40)" ID="addr1" Offset="20" value="1 Main Street"/>
<FIELD Format="X(40)" ID="addr2" value="Somerset West"/>
<FIELD Format="X(40)" ID="addr3" value="Cape Town"/>
<FIELD Format="X(40)" ID="addr4" value="8000"/>
<FIELD Format="X(8)" ID="DefaultString8" />
<FIELD Format="XX" ID="countrycode1" value="ZA"/>
<FIELD Format="X(12)" ID="DefaultString9" />
<FIELD Format="X(12)" ID="DefaultString10" />
<FIELD Format="X(12)" ID="DefaultString11" />
<FIELD Format="X(12)" ID="DefaultString12" />
<FIELD Format="XX" ID="nationality1" />
<FIELD Format="X" ID="occupanc1" />
<FIELD Format="99" ID="languagecode1" value="01"/>
<FIELD Format="X(14)" ID="IDnumber" value="0210235810087"/>
<FIELD Format="ddMMyyyy" ID="date1" value="12102012" />
<FIELD Format="X(30)" ID="DefaultString14" />
<FIELD Format="99" ID="id_type1" value="05"/>
<FIELD Format="XX" ID="dom_risk1" value="ZZ"/>
<FIELD Format="XX" ID="BorderRisk1" value="ZZ"/>
<FIELD Format="9" ID="DefInteger5" />
<FIELD Format="999" ID="DefInteger4" />
<FIELD Format="X(4)" ID="segm_code1" />
<FIELD Format="X" ID="VIP_code2" />
<FIELD Format="9" ID="DefInteger12" />
<FIELD Format="9(5)" ID="DefInteger2" />
<FIELD Format="X" ID="yesno1" />
<FIELD Format="X" ID="yesno2" />
<FIELD Format="X" ID="yesno3" />
<FIELD Format="X" ID="yesno4" />
<FIELD Format="X" ID="yesno5" />
<FIELD Format="X(4)" ID="indcode1" />
<FIELD Format="XX" ID="countrycode2" />
<FIELD Format="X(5)" ID="groupCode" />
<FIELD Format="X(5)" ID="busSectorCode" />
<FIELD Format="99" ID="ReasonCode" />
<FIELD Format="99" ID="NameStatus" />
<FIELD Format="X(50)" ID="EmailAdd" value="
test11@gmail.com" />
<FIELD Format="X(20)" ID="MiddleName2" />
<FIELD Format="X(20)" ID="MiddleName3" />
<FIELD Format="X(40)" ID="ContactName1" />
<FIELD Format="9(12)" ID="CnctPhone101" />
<FIELD Format="9(12)" ID="CnctPhone102" />
<FIELD Format="X(40)" ID="ContactName2" />
<FIELD Format="9(12)" ID="CnctPhone201" />
<FIELD Format="9(12)" ID="CnctPhone202" />

<FIELD Format="X" ID="cellVerified" />
<FIELD Format="X" ID="cellServices" />
<FIELD Format="X" ID="cellNoChanged" />
<FIELD Format="99" ID="contrLang" />
<FIELD Format="X(40)" ID="newSurname" />
<FIELD Format="9(8)" ID="idExpDate" />
<FIELD Format="X(2)" ID="whySaPP" />
<FIELD Format="X" ID="openReason" value=" "/>
<FIELD Format="X(2)" ID="CONT1_TITLE" />
<FIELD Format="X(2)" ID="CONT2_TITLE" />
<FIELD Format="X" ID="CONT1_REL" />
<FIELD Format="X" ID="CONT2_REL" />
<FIELD Format="X(12)" ID="CONT1_WORK_PH" />
<FIELD Format="X(12)" ID="CONT2_WORK_PH" />
<FIELD Format="X(50)" ID="CONT1_EMAIL_ID" />
<FIELD Format="X(50)" ID="CONT2_EMAIL_ID" />
<FIELD Format="9(8)" ID="DATE_OF_BIRTH" />
<FIELD Format="X" ID="GENDER" />
<FIELD Format="99" ID="DHA_STATUS" />

</TX>
<RX>
<FIELD Format="9(3)" ID="soc" />
<FIELD Format="9(18)" ID="custNo" Offset="1"/>
</RX>
</GROUP>


The fields that need to be updated are:

<FIELD Format="X(20)" ID="firstname1" value="Test 11"/>
<FIELD Format="X(35)" ID="surname1" value="Test 11"/>

<FIELD Format="X(14)" ID="IDnumber" value="0210235810087"/>

The idea is to increment:

<FIELD Format="X(20)" ID="firstname1" value="Test 11"/> to
<FIELD Format="X(20)" ID="firstname1" value="Test 12"/>

<FIELD Format="X(35)" ID="surname1" value="Test 11"/> to
<FIELD Format="X(35)" ID="surname1" value="Test 12"/>

<FIELD Format="X(14)" ID="IDnumber" value="0210235810087"/> to
<FIELD Format="X(14)" ID="IDnumber" value="0210235810087 + 1"/> SmilieSmilieSmilieSmilieSmilieSmilie

until the counter reaches 100

Please help if you can. Would really appreciate any help.
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Perl: update lastmod in xml file

I'm trying to write a perl script that I can run as a cron job in root of my web server that will look for .shtml files get their last modified date and replace it in the sitemap_test.xml file. the problem is the substitution doesn't work and when I print to MYFILE it adds the lastmod to the end of... (3 Replies)
Discussion started by: skilodge
3 Replies

2. Shell Programming and Scripting

How to retrieve value from xml tags

hello, I have a file that have lines that contains xml tags. for each line, i want to retrieve the value from the following xml tags and output it to another file with the values only, comma seperated. what is the best way to do this? again, the string is all in 1 line one, though it has many... (9 Replies)
Discussion started by: davidsouk
9 Replies

3. Shell Programming and Scripting

perl script to update a xml file

Hi experts, I have a set of xml files in folder which has the below field. <mm:sessionID>157.235.206.12900397BE4:A</mm:sessionID>, I need to update this field regularly with new session id, which I have it from a login file. Can anyone tell me how to add a new value in <mm:sessionID>... (3 Replies)
Discussion started by: amvarma77
3 Replies

4. Shell Programming and Scripting

How to generate a csv files by separating the values from the input file based on position?

Hi All, I need help for doing the following. I have a input file like: aaaaaaaaaabbbbbbbbbbbbbbbbbbbb cccbbbbbaaaaaadddddaaaabbbbbbb now I am trying to generate a output csv file where i will have for e.g. 0-3 chars of each line as the first column in the csv, 4-10 chars of the line as... (3 Replies)
Discussion started by: babom
3 Replies

5. Shell Programming and Scripting

Find and count unique date values in a file based on position

Hello, I need some sort of way to extract every date contained in a file, and count how many of those dates there are. Here are the specifics: The date format I'm looking for is mm/dd/yyyy I only need to look after line 45 in the file (that's where the data begins) The columns of... (2 Replies)
Discussion started by: ronan1219
2 Replies

6. Shell Programming and Scripting

Comparing delta values of one xml file in other xml file

Hi All, I have two xml files. One is having below input <NameValuePair> <name>Daemon</name> <value>tcp:7474</value> </NameValuePair> <NameValuePair> <name>Network</name> <value></value> </NameValuePair> ... (2 Replies)
Discussion started by: sharsour
2 Replies

7. Shell Programming and Scripting

Script need to do update xml file

<avp name="CC-Request-Type" value="1"> </avp> <avp name="CC-Request-Number" value="0"> </avp> <avp name="Subscription-Id"> <avp name="Subscription-Id-Type" value="0"></avp> <avp name="Subscription-Id-Data" value="4081234567"></avp> </avp> <avp... (5 Replies)
Discussion started by: gstar
5 Replies

8. Shell Programming and Scripting

Positional Update of XML File

Hello, I have a XML file and need to update the data for a specific XML Attribute in the file. I need a Perl or Awk command to look for <INTERCHANGE_CONTROL_NO>000000601</INTERCHANGE_CONTROL_NO> in the XML file and change the first two 0 of the value to 9. For instance ... (4 Replies)
Discussion started by: Praveenkulkarni
4 Replies

9. Shell Programming and Scripting

Find and update line in xml file

Hi, I have a xml file that I need to modify 1 line to change some value from 2 to 10 (or any number). Sample input: <!-- some text here> . . . <message:test name="ryan"> <message:sample-channel charset="UTF-8" max-value="2" wait="20"> ... (5 Replies)
Discussion started by: brichigo
5 Replies

10. Shell Programming and Scripting

Update particular tag in a XML file

Below is the content in my XML file <name>XXX</name> <eventType>Uptime</eventType> <eventType>Delay</eventType> <eventType>Delay</eventType> <name>YYY</name> <eventType>Uptime</eventType> <eventType>Delay</eventType> ... (12 Replies)
Discussion started by: Viswanatheee55
12 Replies
All times are GMT -4. The time now is 08:41 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy