を追加:XmlElementWrapperと奇妙な値が、私はこのBeanを持っている私のコードでは
@XmlRootElement
@XmlAccessorType(XmlAccessType.NONE)
public class Data implements Serializable {
@XmlAttribute
private String _name;
@XmlElementWrapper(name = "statuses")
@XmlElement(name="status")
private List<Boolean> _statuses;
public String getName() {
return _name;
}
public void setName(String name) {
_name = name;
}
public List<Boolean> getStatuses() {
return _statuses;
}
public void setStatuses(List<Boolean> statuses) {
_statuses = statuses;
}
....
}
これは、Beanをマーシャリングするためのコードです:私は何を期待
Writer w = null;
try {
final JAXBContext context = JAXBContext.newInstance(Data.class);
final Marshaller m = context.createMarshaller();
m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
w = new FileWriter("file.xml");
m.marshal(obj, w);
} catch (Exception e) {
e.printStackTrace();
} finally {
try { w.close();}
catch (Exception e) {}
}
は次のとおりです。
<data name="data-test">
<statuses>
<status>true</status>
<status>true</status>
<status>true</status>
<status>true</status>
<status>true</status>
<status>true</status>
<status>true</status>
<status>true</status>
<status>true</status>
<status>true</status>
<status>true</status>
<status>true</status>
</statuses>
...
</data>
私は得た:
<data name="data-test">
<statuses>
<status>true</status>
<status>true</status>
<status>true</status>
<status>true</status>
<status>true</status>
<status>true</status>
<status>true</status>
<status>true</status>
<status>true</status>
<status>true</status>
<status>true</status>
<status>true</status>
</statuses>
// strange repetition
<statuses>true</statuses>
<statuses>true</statuses>
<statuses>true</statuses>
<statuses>true</statuses>
<statuses>true</statuses>
<statuses>true</statuses>
<statuses>true</statuses>
<statuses>true</statuses>
<statuses>true</statuses>
<statuses>true</statuses>
<statuses>true</statuses>
<statuses>true</statuses>
// attribute as separated element
<name>data-test</name>
...
</data>
どのように私は繰り返しその奇妙なものを避けることができますか?
はいJDKのためにJAXBに建てられたが、私はまったく同じ結果:( – Randomize
@Randomizeを得るにはバグのように見えますが - 別の提案を追加しました – jtahlborn
私がゲット/セットに過渡を追加:COM .sun.xml.internal.bind.v2.runtime.IllegalAnnotationsException:IllegalAnnotationExceptionsの4つのカウント... – Randomize