Pojo Class(XML 对象)

Pojo Class (XML to Object )

我正在尝试为以下 XML 创建 POJO classes ,其余的很好,但我无法获取参数标记的值,即 valueB , valueC 。

我已经为下面 xml 创建了步骤、输入和参数 pojo classes,下面提到了参数 class 代码。

下面是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>

波乔 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+"]";
    }
}

输入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+"]";
    }
}

步骤 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+"]";
    }
}

将@XmlValue 添加到参数中的内容字符串 class。

您还必须将 @XmlAttribute 添加到您的 getOverwrite() 方法才能使其正常工作。