【发布时间】:2016-09-01 06:40:13
【问题描述】:
我正在尝试为以下 XML 创建 POJO 类,其余部分很好,但我无法获取参数标记的值,即 valueB、valueC。
我已经为下面的 xml 创建了 Step 、 Input 和 Parameter pojo 类,下面提到了其中的参数类代码。
下面是 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 类:
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+"]";
}
}
输入类:
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+"]";
}
}
步骤类:
@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+"]";
}
}
【问题讨论】:
-
检查pojo类中的setContent()方法是返回内容,改一下
-
我已经尝试在参数类中添加 getContent() 、 setContent() 是否需要在这些 gettter setter 上方添加任何注释才能使其正常工作。
-
您使用的是哪个解析器?
-
我正在使用 JAXB。
-
可以参考以下链接javatpoint.com/jaxb-tutorial