ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » Converting one xml to another xml

Post new topic  This topic is locked: you cannot edit posts or make replies.
 Converting one xml to another xml « View previous topic :: View next topic » 
Author Message
trinath
PostPosted: Mon Sep 22, 2014 9:39 pm    Post subject: Converting one xml to another xml Reply with quote

Apprentice

Joined: 02 Jun 2014
Posts: 34

Am using java Compute node

Requirement like this:

giving input

Quote:
<Employees>
<Employee>
<Name> john </Name>
<Number>1</Number>
<Salary>50000</Salary>
</Employee>

<Employee>
<Name>Ram</Name>
<Number>2</Number>
<Salary>60000</Salary>
</Employee>

</Employees>


expected output
Quote:
<Employees>
<Employee>
john with id 1 and Getting salary 50000
</Employee>

<Employee>
Ram with id 2 and Getting salary 60000
</Employee>

</Employees>



and am using code

Quote:
public class Xml_Xml_MsgFlow_JavaCompute extends MbJavaComputeNode
{
public void evaluate(MbMessageAssembly contact admin)
throws MbException
{
MbMessage inMessage = contact admin.getMessage();
MbMessage outMessage = new MbMessage(); // create an empty output message
MbMessageAssembly outAssembly = new MbMessageAssembly(contact admin, outMessage);

copyMessageHeaders(inMessage, outMessage); // copy headers from the input message

// Add user code below

MbElement inRoot = inMessage.getRootElement();
MbElement outRoot = outMessage.getRootElement();
MbElement outBody = outRoot.createElementAsLastChild("XMLNSC"); // create the 'Body' XMLNSC element


// declare the class to create statements for each employeelist
final ForEachChildOperation createStatement = new ForEachChildOperation("Employee") {
protected void forEachElement(MbElement Employee) throws MbException
{
MbElement employeeList = getOutputElement();

MbElement cursor = Employee.getFirstChild();
String name = (String)cursor.getValue();
cursor = cursor.getNextSibling();
String id = (String)cursor.getValue();
cursor = cursor.getNextSibling();
String salary = (String)cursor.getValue();
String details = name+ "with id"+ id+ " and Getting salary "+salary;


MbElement statement = employeeList.createElementAsLastChild(MbXMLNSC.FOLDER, "Statement", null);
MbElement employee = statement.createElementAsLastChild(MbXMLNSC.FOLDER, "Employee", null);

employee.createElementAsLastChild(MbXMLNSC.FIELD, "Name", name);
employee.createElementAsLastChild(MbXMLNSC.FIELD, "Number", id);
employee.createElementAsLastChild(MbXMLNSC.FIELD, "Salary", salary);

employee.createElementAsLastChild(MbXMLNSC.FIELD, "Employee", details);
}
};
getOutputTerminal("out").propagate(outAssembly);
}

public void copyMessageHeaders(MbMessage inMessage, MbMessage outMessage) throws MbException
{
MbElement outRoot = outMessage.getRootElement();
MbElement header = inMessage.getRootElement().getFirstChild();

while(header != null && header.getNextSibling() != null)
{
outRoot.addAsLastChild(header.copy());
header = header.getNextSibling();
}
}


abstract class ForEachChildOperation
{
private String emp = null;
private MbElement outputElement = null;


public ForEachChildOperation(String emp) throws MbException
{
this.emp = emp;
}



public MbElement getOutputElement()
{
return outputElement;
}


protected void before() throws MbException { }


protected abstract void forEachElement(MbElement element) throws MbException;


protected void after() throws MbException { }


public void evaluate(MbElement element) throws MbException
{
before();

MbElement child = element.getFirstChild();
while(child != null)
{
String childName = (String)child.getName();
if(childName.equals(emp))
forEachElement(child);
child = child.getNextSibling();
}

after();
}

}

}


am not getting solution, what wrong with my code
Back to top
View user's profile Send private message
smdavies99
PostPosted: Mon Sep 22, 2014 9:55 pm    Post subject: Reply with quote

Jedi Council

Joined: 10 Feb 2003
Posts: 6076
Location: Somewhere over the Rainbow this side of Never-never land.

I see that this is a repost of this
http://www.mqseries.net/phpBB2/viewtopic.php?t=68502

You would have been better continuing that thread.

_________________
WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995

Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  This topic is locked: you cannot edit posts or make replies. Page 1 of 1

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » Converting one xml to another xml
Jump to:  



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.