Castor编组名称/值对

时间:2011-12-06 15:17:00

标签: java xml marshalling castor

我有一个包含名称/值对的简单POJO:

public class Parameter {

    private String name = null;
    private String value = null;

    public Parameter() {
        // Do Nothing
    }

    public Parameter(String name, String value) {
        this.name = name;
        this.value = value;
    }

    public String getName() {
        return name;
    }

    public String getValue() {
        return value;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setValue(String value) {
        this.value = value;
    }

}

我想把它编组成一个看起来像这样的XML结构:

<parameter name="P3">Parameter 3</parameter>

我尝试过这样的映射,但它不起作用:

<class name="pkg.Parameter">
    <field name="Name">
        <bind-xml name="name" node="attribute" />
    </field>
    <field name="Value">
        <bind-xml name="paramValue"/>
    </field>
</class>

它给了我这个:

<parameter name="P3">
  <paramValue>Parameter 3</paramValue>
</parameter>

那几乎就在那里,但价值显然是错位的。基本上我想从Parameter.getValue()返回的值来形成&lt; parameter&gt;的内容。元素而不是子元素。

这应该很简单,我相信它会,但我似乎无法到达那里。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

哦,好悲伤。这就好像花时间解释问题重新组织你的大脑,并在点击“发布”后解决问题!

事实证明,我需要做的就是改变

<field name="Value">
    <bind-xml name="paramValue"/>
</field>

<field name="Value">
    <bind-xml node="text"/>
</field>

完成后我现在看到了这个:

<parameter name="P3">Parameter 3</parameter>

史蒂夫