i am trying creating POJO classes for following XML , rest is fine but i am not able to get values of parameter tag i.e valueB , valueC.
i have created Step , Input and Parameter pojo classes for below xml out of which parameter class code is mentioned below .
Below is the XML :
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE step SYSTEM "step.dtd">
<step>
<class>Step</class>
<description> test </description>
<input>
<parameter name="A" overwrite="yes"/>
<parameter name="B" overwrite="yes">valueB</parameter>
<parameter name="C" overwrite="yes">valueC</parameter>
</input>
</step>
Pojo Class :
public class Parameter
{
private String name;
private String parameter;
private String content;
public String getContent ()
{
return content;
}
public String setContent ()
{
return content;
}
private String overwrite;
@XmlAttribute
public String getName ()
{
return name;
}
public void setName (String name)
{
this.name = name;
}
public String getOverwrite ()
{
return overwrite;
}
public void setOverwrite (String overwrite)
{
this.overwrite = overwrite;
}
@Override
public String toString()
{
return "ClassPojo [content = "+content+",name = "+name+", overwrite = "+overwrite+", parameter="+parameter+"]";
}
}
Input Class :
public class Input
{
private Parameter[] parameter;
public Parameter[] getParameter ()
{
return parameter;
}
public void setParameter (Parameter[] parameter)
{
this.parameter = parameter;
}
@Override
public String toString()
{
return "ClassPojo [parameter = "+parameter+"]";
}
}
Step Class :
@XmlRootElement(name="step")
public class Step
{
private Input input;
private String description;
private String class1;
private Output output;
public Input getInput ()
{
return input;
}
public void setInput (Input input)
{
this.input = input;
}
public String getDescription ()
{
return description;
}
public void setDescription (String description)
{
this.description = description;
}
public String getClass1 ()
{
return class1;
}
public void setClass (String class1)
{
this.class1 = class1;
}
public Output getOutput ()
{
return output;
}
public void setOutput (Output output)
{
this.output = output;
}
@Override
public String toString()
{
return "ClassPojo [input = "+input+", description = "+description+", class = "+class1+", output = "+output+"]";
}
}
Add @XmlValue to your content String in your parameter class.
You'll also have to add @XmlAttribute to your getOverwrite() method for it to works.