...... 产出 我需要做到:
<Entity>
<MRA_BALANCE_SHEET>
<R0030C0030>value</R0030C0030>
<R0030C0040>value</R0030C0040>
</MRA_BALANCE_SHEET>
<MRA_BALANCE_SHEET>
<R0040C0030>value</R0040C0030>
<R0040C0040>value</R0040C0030>
</MRA_BALANCE_SHEET>
</Entity>
“R0030”每个部分将增加10个。 如你在下一份清单中可以看到,R0030C0030将增加10,=“R0040C0030”
需要帮助 ......
这是我的抽样实体。
private String PHP;
private String PHPUSD;
@XmlJavaTypeAdapter(DynamicElementNameAdapter.class)
public String getPHP() {
return PHP;
}
我已经尝试过这个适应者。
public class DynamicElementNameAdapter extends XmlAdapter<String, String>{
private static int counter = 30;
@Override
public String unmarshal(String v) throws Exception {
// TODO Auto-generated method stub
return v;
}
@Override
public String marshal(String v) throws Exception {
String dynamicElementName = "R" + String.format("%04d", counter) + "C0030";
counter += 10; // Increment by 10 for the next element
return dynamicElementName;
}
}
but the output is wrong :
<Entity>
<MRA_BALANCE_SHEET>
<PHP>R0030C0030</PHP>
</MRA_BALANCE_SHEET>
<MRA_BALANCE_SHEET>
<PHP>R0040C0030</PHP>
</MRA_BALANCE_SHEET>
</Entity>
!