Question

J'ai un POJO simple qui contient une paire de nom / valeur:

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

}

Je veux rassembler cela dans une structure XML qui ressemble à ceci:

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

J'ai essayé une cartographie qui ressemble à ça mais cela ne fonctionne pas:

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

Ça me donne ceci:

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

C'est presque là, mais la valeur est évidemment déplacée. Essentiellement, je veux que la valeur renvoyée de Parameter.getValue () forme le contenu duu003Cparameter> élément plutôt qu'un sous-lilement.

Cela devrait être simple, et je suis sûr que ce sera le cas, mais je n'arrive pas à y arriver.

Des idées?

Était-ce utile?

La solution

Oh bon chagrin. C'est comme si prendre le temps d'expliquer le problème réorganise tout ce qui vous concerne et que la solution vous vient juste après avoir cliqué sur "Post"!

Il s'avère que tout ce que j'avais besoin de faire était de changer

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

à

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

Ayant fait ça, je vois maintenant ceci:

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

Steve

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top