Java 解组后返回空值的jaxb

Java 解组后返回空值的jaxb,java,xml,jaxb,Java,Xml,Jaxb,我试图解组一个xml,它返回空值 XML: MN13 9294678 EN 提供的XML和JAXB类之间存在许多不匹配。 首先,示例XML中没有属性,但JAXB包含@xmldattribute。 其次,最好显式声明@xmlacessortype,否则它只查找public字段和方法 LetterOutHeader.java package int1.d3; import java.util.ArrayList; import java.util.List; import javax.xml.

我试图解组一个xml,它返回空值 XML:


MN13
9294678
EN

提供的XML和
JAXB
类之间存在许多不匹配。 首先,示例XML中没有属性,但JAXB包含
@xmldattribute
。 其次,最好显式声明
@xmlacessortype
,否则它只查找
public
字段和方法

LetterOutHeader.java

package int1.d3;

import java.util.ArrayList;
import java.util.List;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;

@XmlRootElement(name="letterOutHeader")
@XmlAccessorType(XmlAccessType.FIELD)
public class LetterOutHeader {
    String lettertype;
    String letterReqid;
    String language;
    String attentionTo;
    String addressLine1;
    String addressLine2;
    String city;
    String state;
    String zipCode;
    String dateOfLetter;
    String respondByDate;
    String externalNum;
    @XmlElement(name="letterOutFlexField")
    List<LetterOutFlexFieldBean> flexField;


    public String getLettertype() {
        return lettertype;
    }
    public void setLettertype(String lettertype) {
        this.lettertype = lettertype;
    }

    public String getLetterReqid() {
        return letterReqid;
    }
    public void setLetterReqid(String letterReqid) {
        this.letterReqid = letterReqid;
    }

    public String getLanguage() {
        return language;
    }
    public void setLanguage(String language) {
        this.language = language;
    }

    public String getAttentionTo() {
        return attentionTo;
    }
    public void setAttentionTo(String attentionTo) {
        this.attentionTo = attentionTo;
    }

    public String getAddressLine1() {
        return addressLine1;
    }
    public void setAddressLine1(String addressLine1) {
        this.addressLine1 = addressLine1;
    }

    public String getAddressLine2() {
        return addressLine2;
    }
    public void setAddressLine2(String addressLine2) {
        this.addressLine2 = addressLine2;
    }

    public String getCity() {
        return city;
    }
    public void setCity(String city) {
        this.city = city;
    }

    public String getState() {
        return state;
    }
    public void setState(String state) {
        this.state = state;
    }

    public String getZipCode() {
        return zipCode;
    }
    public void setZipCode(String zipCode) {
        this.zipCode = zipCode;
    }

    public String getDateOfLetter() {
        return dateOfLetter;
    }
    public void setDateOfLetter(String dateOfLetter) {
        this.dateOfLetter = dateOfLetter;
    }

    public String getRespondByDate() {
        return respondByDate;
    }
    public void setRespondByDate(String respondByDate) {
        this.respondByDate = respondByDate;
    }

    public String getExternalNum() {
        return externalNum;
    }
    public void setExternalNum(String externalNum) {
        this.externalNum = externalNum;
    }
    public List<LetterOutFlexFieldBean> getFlexFields() {
        if(flexField == null) {
            flexField = new ArrayList<LetterOutFlexFieldBean>();
        }
        return this.flexField;
    }
}
包int1.d3;
导入java.util.ArrayList;
导入java.util.List;
导入javax.xml.bind.annotation.XmlAccessType;
导入javax.xml.bind.annotation.XmlAccessorType;
导入javax.xml.bind.annotation.xmlement;
导入javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement(name=“letterOutHeader”)
@XmlAccessorType(XmlAccessType.FIELD)
公共类信头{
字符串字体;
字符串letterqid;
字符串语言;
字符串注意;
字符串地址行1;
字符串地址行2;
字符串城市;
字符串状态;
字符串zipCode;
字符串日期符;
字符串respondByDate;
字符串外部数;
@XmlElement(name=“letterOutFlexField”)
列表flexField;
公共字符串getLettertype(){
返回字体;
}
public void setLettertype(字符串lettertype){
this.lettertype=lettertype;
}
公共字符串getLetterReqid(){
返回letterqid;
}
公共无效setLetterReqid(字符串letterReqid){
this.letterReqid=letterReqid;
}
公共字符串getLanguage(){
返回语言;
}
公共语言(字符串语言){
这种语言=语言;
}
公共字符串getAttentionTo(){
回归关注;
}
public void setAttentionTo(字符串attentionTo){
this.attentionTo=attentionTo;
}
公共字符串getAddressLine1(){
返回地址行1;
}
公共无效setAddressLine1(字符串addressLine1){
this.addressLine1=addressLine1;
}
公共字符串getAddressLine2(){
返回地址行2;
}
公共无效setAddressLine2(字符串addressLine2){
this.addressLine2=addressLine2;
}
公共字符串getCity(){
回归城市;
}
公共城市(字符串城市){
this.city=城市;
}
公共字符串getState(){
返回状态;
}
公共无效设置状态(字符串状态){
this.state=状态;
}
公共字符串getZipCode(){
返回zipCode;
}
public void setZipCode(字符串zipCode){
this.zipCode=zipCode;
}
公共字符串getDateOfLitter(){
信件的归还日期;
}
公共无效SetDateOfLitter(字符串DateOfLitter){
this.dateOfLetter=dateOfLetter;
}
公共字符串getRespondByDate(){
返回响应日期;
}
public void setRespondByDate(字符串respondByDate){
this.respondByDate=respondByDate;
}
公共字符串getExternalNum(){
返回externalNum;
}
公共void setExternalNum(字符串externalNum){
this.externalNum=externalNum;
}
公共列表getFlexFields(){
if(flexField==null){
flexField=newarraylist();
}
返回此.flexField;
}
}
package jaxb.Bean;

import java.util.List;

import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;

@XmlRootElement
public class LetterOutHeader {
    String lettertype;
    String letterReqid;
    String language;
    String attentionTo;
    String addressLine1;
    String addressLine2;
    String city;
    String state;
    String zipCode;
    String dateOfLetter;
    String respondByDate;
    String externalNum;
    List<LetterOutFlexFieldBean> flexFields;
    @XmlAttribute 
    public String getLettertype() {
        return lettertype;
    }
    public void setLettertype(String lettertype) {
        this.lettertype = lettertype;
    }
    @XmlAttribute 
    public String getLetterReqid() {
        return letterReqid;
    }
    public void setLetterReqid(String letterReqid) {
        this.letterReqid = letterReqid;
    }
    @XmlAttribute 
    public String getLanguage() {
        return language;
    }
    public void setLanguage(String language) {
        this.language = language;
    }
    @XmlAttribute 
    public String getAttentionTo() {
        return attentionTo;
    }
    public void setAttentionTo(String attentionTo) {
        this.attentionTo = attentionTo;
    }
    @XmlAttribute 
    public String getAddressLine1() {
        return addressLine1;
    }
    public void setAddressLine1(String addressLine1) {
        this.addressLine1 = addressLine1;
    }
    @XmlAttribute 
    public String getAddressLine2() {
        return addressLine2;
    }
    public void setAddressLine2(String addressLine2) {
        this.addressLine2 = addressLine2;
    }
    @XmlAttribute
    public String getCity() {
        return city;
    }
    public void setCity(String city) {
        this.city = city;
    }
    @XmlAttribute 
    public String getState() {
        return state;
    }
    public void setState(String state) {
        this.state = state;
    }
    @XmlAttribute 
    public String getZipCode() {
        return zipCode;
    }
    public void setZipCode(String zipCode) {
        this.zipCode = zipCode;
    }
    @XmlAttribute 
    public String getDateOfLetter() {
        return dateOfLetter;
    }
    public void setDateOfLetter(String dateOfLetter) {
        this.dateOfLetter = dateOfLetter;
    }
    @XmlAttribute 
    public String getRespondByDate() {
        return respondByDate;
    }
    public void setRespondByDate(String respondByDate) {
        this.respondByDate = respondByDate;
    }
    @XmlAttribute 
    public String getExternalNum() {
        return externalNum;
    }
    public void setExternalNum(String externalNum) {
        this.externalNum = externalNum;
    }
    @XmlElement
    public List<LetterOutFlexFieldBean> getFlexFields() {
        return flexFields;
    }
    public void setFlexFields(List<LetterOutFlexFieldBean> flexFields) {
        this.flexFields = flexFields;
    }


}
package jaxb.client;

import java.io.File;

import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Unmarshaller;

import jaxb.Bean.LetterOutBean;
import jaxb.Bean.LetterOutHeader;

public class XmlToObject {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        try {  

            File file = new File("C:/Users/sindhu/Desktop/Kranthi/jaxB/baseXML.xml");  
            JAXBContext jaxbContext = JAXBContext.newInstance(LetterOutHeader.class);  

            Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();  
            LetterOutHeader que= (LetterOutHeader) jaxbUnmarshaller.unmarshal(file);  

            System.out.println(que.getCity());  
           /* System.out.println("Answers:");  
            List<Answer> list=que.getAnswers();  
            for(Answer ans:list)  
              System.out.println(ans.getId()+" "+ans.getAnswername()+"  "+ans.getPostedby());  
*/     
          } catch (JAXBException e) {  
            e.printStackTrace();  
          }  
    }

}
package int1.d3;

import java.util.ArrayList;
import java.util.List;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;

@XmlRootElement(name="letterOutHeader")
@XmlAccessorType(XmlAccessType.FIELD)
public class LetterOutHeader {
    String lettertype;
    String letterReqid;
    String language;
    String attentionTo;
    String addressLine1;
    String addressLine2;
    String city;
    String state;
    String zipCode;
    String dateOfLetter;
    String respondByDate;
    String externalNum;
    @XmlElement(name="letterOutFlexField")
    List<LetterOutFlexFieldBean> flexField;


    public String getLettertype() {
        return lettertype;
    }
    public void setLettertype(String lettertype) {
        this.lettertype = lettertype;
    }

    public String getLetterReqid() {
        return letterReqid;
    }
    public void setLetterReqid(String letterReqid) {
        this.letterReqid = letterReqid;
    }

    public String getLanguage() {
        return language;
    }
    public void setLanguage(String language) {
        this.language = language;
    }

    public String getAttentionTo() {
        return attentionTo;
    }
    public void setAttentionTo(String attentionTo) {
        this.attentionTo = attentionTo;
    }

    public String getAddressLine1() {
        return addressLine1;
    }
    public void setAddressLine1(String addressLine1) {
        this.addressLine1 = addressLine1;
    }

    public String getAddressLine2() {
        return addressLine2;
    }
    public void setAddressLine2(String addressLine2) {
        this.addressLine2 = addressLine2;
    }

    public String getCity() {
        return city;
    }
    public void setCity(String city) {
        this.city = city;
    }

    public String getState() {
        return state;
    }
    public void setState(String state) {
        this.state = state;
    }

    public String getZipCode() {
        return zipCode;
    }
    public void setZipCode(String zipCode) {
        this.zipCode = zipCode;
    }

    public String getDateOfLetter() {
        return dateOfLetter;
    }
    public void setDateOfLetter(String dateOfLetter) {
        this.dateOfLetter = dateOfLetter;
    }

    public String getRespondByDate() {
        return respondByDate;
    }
    public void setRespondByDate(String respondByDate) {
        this.respondByDate = respondByDate;
    }

    public String getExternalNum() {
        return externalNum;
    }
    public void setExternalNum(String externalNum) {
        this.externalNum = externalNum;
    }
    public List<LetterOutFlexFieldBean> getFlexFields() {
        if(flexField == null) {
            flexField = new ArrayList<LetterOutFlexFieldBean>();
        }
        return this.flexField;
    }
}