Pergunta

Tenho um POJO simples que contém um par nome / valor:

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;
    }

}

Quero organizar isso em uma estrutura XML parecida com esta:

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

Tentei um mapeamento parecido com este, mas não está funcionando:

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

Isso me dá isso:

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

Está quase lá, mas o valor está obviamente fora do lugar.Essencialmente, quero que o valor retornado de Parameter.getValue () forme o conteúdo do elemento em vez de um subelemento.

Isso deve ser simples e tenho certeza que será, mas não consigo chegar lá.

Alguma ideia?

Foi útil?

Solução

Oh, meu Deus.É como se dedicar um tempo explicando o problema reorganizasse tudo em seu cérebro e a solução chegasse até você depois de clicar em "Publicar"!

Acontece que tudo que eu precisava fazer era mudar

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

para

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

Tendo feito isso, estou vendo o seguinte:

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

Steve

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top