Кастор маршаллинг пары имя / значение - PullRequest
0 голосов
/ 06 декабря 2011

У меня есть простой 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 (), формировало содержимое элемента , а не подэлемента.

Это должно быть просто, и я уверен, что так и будет, но я не могу этого достичь.

Есть идеи?

1 Ответ

0 голосов
/ 07 декабря 2011

О, боже мой. Это как если бы вы нашли время, чтобы объяснить, что проблема реорганизует все в вашем мозгу, и решение приходит к вам сразу после нажатия «Пост»!

Оказывается, все, что мне нужно было сделать, это изменить

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

до

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

Сделав это, я теперь вижу это:

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

Steve

...