나는 JAXB를 사용하여 비 정렬 화 꽤 새로운 해요,하지만 난 모든 권리 아직 내가 런타임에이 오류를 받고 있어요 구성된있어 것 같아요 : 난Jaxb2Marshaller의 비 정렬 화 - 예상치 못한 요소
javax.xml.bind.UnmarshalException: unexpected element (uri:"http://xml.product.place.com/prod/alerts/v_1_0", local:"Record"). Expected elements are (none)
몇개의 XSD를 기반으로하는 JaxB에 의해 생성 된 POJO를 사용하여 꽤 복잡한 XML 파일을 비 정렬 화합니다.
이<PlaceAlerts xmlns="http://xml.product.place.com/prod/alerts/v_1_0"">
<Information>
<ReportType>EIFK</ReportType>
<Number>401ZC00155</Number>
<ReportDate>2005-02-05</ReportDate>
</Information>
<Record>
<id>123</id>
<cid><![CDATA[12327*312457495]]></ccid>
...
</PlaceAlerts>
XML 파일에 간다,하지만 오류가 기록 여는 태그에 온다 :
다음은 XML의 관련 부분입니다.
여기 Record.java입니다 :package com.etc.etc.etc;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
"id",
"cid",
"alerts"
})
@XmlRootElement(name = "Record")
public class Record {
@XmlElement(required = true)
protected Object id;
@XmlElement(required = true)
protected Object cid;
@XmlElement(name = "Alerts", required = true)
protected Alerts alerts;
public Object getId() {
return id;
}
public void setId(Object value) {
this.id = value;
}
public Object getCid() {
return cid;
}
public void setCid(Object value) {
this.cid = value;
}
public Alerts getAlerts() {
return alerts;
}
public void setAlerts(Alerts value) {
this.alerts = value;
}
}
그리고 콩 선언 :
<bean id="unmarshaller" class="org.springframework.oxm.jaxb.Jaxb2Marshaller">
<property name="packagesToScan">
<list>
<value>com.etc.etc.etc.*</value>
</list>
</property>
</bean>
어떤 생각? 다른 것을보고 싶다면 알려주세요.
xsd 파일의 관련 섹션을 게시하십시오. 당신의 문제를 봤어 그리고이 발견하지만 xsd 섹션없이 내가 줄 수 없어 http://bozhobg.wordpress.com/2009/12/18/jaxb-javax-xml-bind-unmarshalexception-unexpected-element/ – user2880879