У меня есть XML в формате ниже:Как анализировать XML с несколькими атрибутами для каждого элемента с помощью JAXB?
<fld-03 m="01" d="01" y="1965" sex-m="" sex-f="1"></fld-03>
<fld-04 last="lastname" first="firstname" middle=""></fld-04>
<fld-05 addr="Richardson" city="Dallas" state="TX" zip="75080" phone=""></fld-05>
<fld-06 self="" spouse="1" child="" other=""></fld-06>
<fld-07 addr="" city="" state="" zip="" phone=""></fld-07>
Есть 33 таких «FLD» с и атрибуты изменяться в широких пределах. Ниже приведен пример, который я попытался продолжить:
@XmlRootElement(name = "myroot")
class Formxml implements Serializable{
@XmlElement (name="fld-00")
private Fld00 fld00 = new Fld00();
public class Fld00 {
private String payer;
@XmlAttribute(name = "payer", required = true)
String getPayer() {
return payer
}
void setPayer(String payer) {
this.payer = payer
}
}
}
это не работает, потому что класс Fld00
не является статическим внутренним классом.
Когда я меняю его на статический класс и добавляю XmlAccessType.FIELD
, он выдает исключение "Class has two properties of the same name "payer""
. Ниже приведен код со статическим классом:
@XmlRootElement(name = "Claims")
class Formxml implements Serializable{
@XmlElement (name="fld-00")
private Fld00 fld00 = new Fld00();
@XmlAccessorType(XmlAccessType.FIELD)
public static class Fld00 {
private String payer;
@XmlAttribute(name = "payer", required = true)
String getPayer() {
return payer
}
void setPayer(String payer) {
this.payer = payer
}
}
}
Пожалуйста, дайте мне знать, если вы найдете способ, чтобы продолжить с помощью JAXB.
Благодаря