提问人:Анастасия Бочкарева 提问时间:5/16/2023 更新时间:5/16/2023 访问量:26
无法使用 JAXB 进行 xml 解组
it is not possible to do xml demarshalling using JAXB
问:
我正在使用 JAXB 将 XML 解析为 Java 对象,但出现了错误。我有一个 xml 文件
<ED807 xmlns="urn:cbr-ru:ed:v2.0" EDDate="2023-05-13">
<BICDirectoryEntry BIC="041280103">
<ParticipantInfo NameP="SAMAT" CntrCd="RU" Rgn="12" Ind="414056" Tnp="г"
Adr="FHD" DateIn="2010-06-08" ParticipantStatus="PSAC"/>
<Accounts CK="99" AccountCBRBIC="041280002" DateIn="2013-01-09" AccountStatus="ACAC"/>
<Accounts CK="99" AccountCBRBIC="041280002" DateIn="2013-01-09" AccountStatus="ACAC"/>
<Accounts CK="99" AccountCBRBIC="041280002" DateIn="2013-01-09" AccountStatus="ACAC"/>
<Accounts CK="99" AccountCBRBIC="041280002" DateIn="2013-01-09" AccountStatus="ACAC"/>
<Accounts CK="99" AccountCBRBIC="041280002" DateIn="2013-01-09" AccountStatus="ACAC"/>
<Accounts CK="99" AccountCBRBIC="041280002" DateIn="2013-01-09" AccountStatus="ACAC"/>
</BICDirectoryEntry>
<BICDirectoryEntry BIC="040147000">
<ParticipantInfo NameP="РКЦ БИЙСК" Tnp="г" Adr="ул. Владимира Ленина, 127"
DateIn="1994-01-20" ParticipantStatus="PSAC"/>
</BICDirectoryEntry>
</ED807>
我使用类 TEG ED807型
@RequiredArgsConstructor
@XmlRootElement(name = "ED807", namespace = "urn:cbr-ru:ed:v2.0")
@XmlAccessorType(XmlAccessType.FIELD)
public class ED807 {
private String edDate;
private BICDirectoryEntry[] bicDirectoryEntries;
@XmlAttribute(name = "EDDate")
public String getEdDate() {
return edDate;
}
@XmlElement(name = "BICDirectoryEntry")
public BICDirectoryEntry[] getBicDirectoryEntries() {
return bicDirectoryEntries;
}
}
teg BICDirectoryEntry
@RequiredArgsConstructor
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "BICDirectoryEntry")
@Getter
@Setter
public class BICDirectoryEntry {
@XmlElement(name = "ParticipantInfo")
private ParticipantInfo participantInfo;
@XmlElement(name = "Accounts")
private Accounts[] accountList;
@XmlAttribute(name = "BIC")
private String bic;
}
teg ParticipantInfo
@RequiredArgsConstructor
@Getter
@Setter
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name = "ParticipantInfo")
public class ParticipantInfo {
@XmlAttribute(name = "NameP", required = true)
private String nameP;
@XmlAttribute(name = "CntrCd", required = true)
private String cntrCd;
@XmlAttribute(name = "RegN")
private String regN;
@XmlAttribute(name = "Tnp")
private String tnp;
@XmlAttribute(name = "Nnp", required = true)
private String nnp;
@XmlAttribute(name = "Adr")
private String adr;
@XmlAttribute(name = "PtType")
private String ptType;
@XmlAttribute(name = "ParticipantStatus")
private String participantStatus;
}
和 teg 帐户
@RequiredArgsConstructor
@Getter
@Setter
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "Accounts")
@XmlRootElement
public class Accounts {
@XmlAttribute(name = "Account", required = true)
private String accountNumber;
@XmlAttribute(name = "RegulationAccountType")
private String regulationAccountType;
@XmlAttribute(name = "DateIn")
private String dateIn;
@XmlAttribute(name = "DateOut")
private String dateOut;
@XmlAttribute(name = "AccountStatus")
private String accountStatus;
}
Но при тестирование выходит это:
com.sun.xml.bind.v2.runtime.IllegalAnnotationsException: 2 counts of IllegalAnnotationExceptions
请告诉我我做错了什么,注释中的错误在哪里
我试图在嵌套标签上方放置一个注释@XmlElementWrapper,但它也给出了一个错误
答: 暂无答案
评论