XML parsing by UNIX


 
Thread Tools Search this Thread
Top Forums UNIX for Advanced & Expert Users XML parsing by UNIX
# 15  
Old 03-28-2013
The code is not working for me. i didn't get any changes in my target file

eg
awk -F'[<>]' ' /tns:value/ { c = $97 ; print c ; exit 1 } ' source.xml
it can also fetch one value from my source file. i want to replace the same pos i.e;"$97"th positon value for target.xml by my "c" value of source.xml.

Last edited by arindam guha; 03-28-2013 at 11:00 AM..
# 16  
Old 03-28-2013
This is what I get when I run on 2 files

Source XML
Code:
$ cat source.xml
<tns:property>
  <tns:name>AdminOutQueue</tns:name>
  <tns:type>String</tns:type>
  <tns:subtype>QueueName</tns:subtype>
  <tns:value xml:space="preserve">WBIA.SMRSFA2.ADOUTQ</tns:value>
  <tns:description>The logical queue that will be used by the connector to write admin messages to the broker</tns:description>
  <tns:updateMethod>component restart</tns:updateMethod>
 <tns:location>
  <tns:reposController>false</tns:reposController>
  <tns:reposAgent>true</tns:reposAgent>
  <tns:localConfig>true</tns:localConfig>
 </tns:location>
  <tns:isEncrypted>false</tns:isEncrypted>
</tns:property>
<tns:property>
  <tns:name>AgentTraceLevel</tns:name>
  <tns:type>Integer</tns:type>
  <tns:subtype />
  <tns:value xml:space="preserve">5</tns:value>
  <tns:description>Trace level for the connector agent</tns:description>
  <tns:updateMethod>component restart</tns:updateMethod>
 <tns:location>
  <tns:reposController>false</tns:reposController>
  <tns:reposAgent>true</tns:reposAgent>
  <tns:localConfig>true</tns:localConfig>
 </tns:location>
  <tns:isEncrypted>false</tns:isEncrypted>
</tns:property>

Target XML
Code:
$ cat target.xml
<tns:property>
  <tns:name>AdminOutQueue</tns:name>
  <tns:type>String</tns:type>
  <tns:subtype>QueueName</tns:subtype>
  <tns:value xml:space="preserve">DUMMY</tns:value>
  <tns:description>The logical queue that will be used by the connector to write admin messages to the broker</tns:description>
  <tns:updateMethod>component restart</tns:updateMethod>
 <tns:location>
  <tns:reposController>false</tns:reposController>
  <tns:reposAgent>true</tns:reposAgent>
  <tns:localConfig>true</tns:localConfig>
 </tns:location>
  <tns:isEncrypted>false</tns:isEncrypted>
</tns:property>
<tns:property>
<tns:name>CharacterEncoding</tns:name>
  <tns:type>String</tns:type>
  <tns:subtype />
  <tns:value xml:space="preserve">ascii7</tns:value>
  <tns:description>The connector agent will use the character encoding</tns:description>
  <tns:updateMethod>component restart</tns:updateMethod>
 <tns:location>
  <tns:reposController>false</tns:reposController>
  <tns:reposAgent>true</tns:reposAgent>
  <tns:localConfig>true</tns:localConfig>
 </tns:location>
  <tns:isEncrypted>false</tns:isEncrypted>
</tns:property>

Code O/P:
Code:
$ ./guha
<tns:property>
  <tns:name>AdminOutQueue</tns:name>
  <tns:type>String</tns:type>
  <tns:subtype>QueueName</tns:subtype>
  <tns:value xml:space="preserve">WBIA.SMRSFA2.ADOUTQ</tns:value>
  <tns:description>The logical queue that will be used by the connector to write admin messages to the broker</tns:description>
  <tns:updateMethod>component restart</tns:updateMethod>
 <tns:location>
  <tns:reposController>false</tns:reposController>
  <tns:reposAgent>true</tns:reposAgent>
  <tns:localConfig>true</tns:localConfig>
 </tns:location>
  <tns:isEncrypted>false</tns:isEncrypted>
</tns:property>
<tns:property>
<tns:name>CharacterEncoding</tns:name>
  <tns:type>String</tns:type>
  <tns:subtype />
  <tns:value xml:space="preserve">ascii7</tns:value>
  <tns:description>The connector agent will use the character encoding</tns:description>
  <tns:updateMethod>component restart</tns:updateMethod>
 <tns:location>
  <tns:reposController>false</tns:reposController>
  <tns:reposAgent>true</tns:reposAgent>
  <tns:localConfig>true</tns:localConfig>
 </tns:location>
  <tns:isEncrypted>false</tns:isEncrypted>
</tns:property>

Please note that AWK does not change the content of target.xml file, you have to redirect the result to a new file to save the changes.
This User Gave Thanks to Yoda For This Post:
# 17  
Old 03-28-2013
but i can get the output for traget file as it is.
"print line"- is printing the result having new changes right
it won't change the valuesSmilie
# 18  
Old 03-28-2013
Quote:
Originally Posted by arindam guha
but i can get the output for traget file as it is.
"print line"- is printing the result having new changes right
it won't change the valuesSmilie
I don't understand what you mean by "it won't change the values" I have clearly highlighted the values getting changed in my previous post.

May be I didn't understand your requirement correctly. If this is not what you want, can you show a sample desired O/P?
# 19  
Old 03-28-2013
i attached my 2files,source and taget.
pls use 2 whole files as your input not sample fragment of data.

thanks for your help. but i m not getting the result if i use 2 files as my input. yeah i get the input from you as per my requirement.
# 20  
Old 03-28-2013
Adding some tracing is nice, so you can tell what it stored and what it found in each input, could or could not look up from second file.
# 21  
Old 03-29-2013
@Yoda: i am not getting the required output if i use 2 whole files in this script.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

XML parsing

I have an xml file where the format looks like below <SESSIONCOMPONENT REFOBJECTNAME ="pre_session_command" REUSABLE ="NO" TYPE ="Pre-session command"> <TASK DESCRIPTION ="" NAME ="pre_session_command" REUSABLE ="NO" TYPE ="Command" VERSIONNUMBER ="1"> ... (8 Replies)
Discussion started by: r_t_1601
8 Replies

2. Shell Programming and Scripting

XML Parsing :

HI I want to parse below file in to two output :- Input :- ?xml version="1.0" encoding="UTF-8"?> <bulkCmConfigDataFile xmlns:un="utranNrm.xsd" <configData dnPrefix="Undefined"> <xn:SubNetwork id="ONRM_ROOT_MO_R"> <xn:MeContext id="C136"> ... (3 Replies)
Discussion started by: asavaliya
3 Replies

3. Shell Programming and Scripting

XML parsing

i have xml output in below format... <AlertsResponse> <Alert id="11216" name="fgdfg"> <AlertActionLog timestamp="1356521629778" user="admin" detail="Recovery Alert"/> </Alert> <Alert id="11215" name="gdfg <AlertActionLog timestamp="1356430119840" user=""... (12 Replies)
Discussion started by: vivek d r
12 Replies

4. Shell Programming and Scripting

XML: parsing of the Google contacts XML file

I am trying to parse the XML Google contact file using tools like xmllint and I even dived into the XSL Style Sheets using xsltproc but I get nowhere. I can not supply any sample file as it contains private data but you can download your own contacts using this script: #!/bin/sh # imports... (9 Replies)
Discussion started by: ripat
9 Replies

5. Shell Programming and Scripting

Parsing XML

I am trying to parse an xml file and trying to grab certain values and inserting them into database table. I have the following xml that I am parsing: <dd:service name="locator" link="false"> <dd:activation mode="manual" /> <dd:run mode="direct_persistent" proxified="false" managed="true"... (7 Replies)
Discussion started by: $criptKid617
7 Replies

6. UNIX for Advanced & Expert Users

XML Parsing

I had a big XML and from which I have to make a layout as below *TOTAL+CB | *CB+FX | CS |*IR | *TOTAL | -------------------------------------------------------------------------------------------------- |CB FX | | | | DMFXNY EMSGFX... (6 Replies)
Discussion started by: manas_ranjan
6 Replies

7. Shell Programming and Scripting

Parsing XML

Learned People, Hello ! Till today, for the most part, all of the tricky questions/situations that I encountered were already posted by other folks and all I had to do was peruse through these one at a time and I could find some sort of an answer and all I had to do was add some minor tweaks... (5 Replies)
Discussion started by: ManoharMa
5 Replies

8. Shell Programming and Scripting

Unix XML Parsing check well formed

Hi, I am using ksh, is there any command which can check whether the XML file is well formed or not? Regards, Sreejit (1 Reply)
Discussion started by: sreejitnair123
1 Replies

9. Shell Programming and Scripting

XML Parsing

Hi, Need a script to parse the following xml file content <tag1 Name="val1"> <abc Name="key"/> <abc Name="pass">*********</abc> </tag1> <tag2 Name="Core"> <Host Name="a.b.c"> <tag1 Name="abc"> <abc Name="ac">None</abc> ... (4 Replies)
Discussion started by: Mavericc
4 Replies

10. Programming

XML parsing

Hi I want to take an XML file and transform it into a pipe-delimited format. What is the best tool to use for this? I have libxml2 which seems to be the best xml parser around. The xml file will have the following format. <Txn> <Date>120504</Date> <id>99</id> <Items> <Item>... (1 Reply)
Discussion started by: handak9
1 Replies
Login or Register to Ask a Question