2013-08-22 3 views
1

Я пытаюсь сохранить объект java string в javabean и пытаюсь преобразовать его в xml format.It хранится успешно, но всякий раз, когда я пытался получить данные из java bean.i, полученные в простом строковом формате, не в формате xml ,javabean to xmltype string

Пожалуйста, помогите мне.

Мой код ниже JavaBean:

@XmlAccessorType(XmlAccessType.FIELD) 
@XmlType(name = "name", propOrder = {"username", "password"}) 
public class newBean { 
@XmlElement(name = "username", required = true) 
protected String username; 

@XmlElement(name = "password", required = true) 
protected String password; 

public String getUsername() { 
    return username; 
} 

public void setUsername(String username) { 
    this.username = username; 
} 

public String getPassword() { 
    return password; 
} 

public void setPassword(String password) { 
    this.password = password; 
} 
} 

ответ

1

Если вам нужен вывод XML из вашего боба в J2SE среде, вы можете попробовать это:

StringWriter writer = new StringWriter(); 

JAXBContext jaxbContext = JAXBContext.newInstance(newBean.class); 

newBean bean = new newBean(); 

bean.setUsername("user"); 
bean.setPassword("secret"); 

JAXBElement<newBean> jaxbElement = new JAXBElement<Main.newBean>(new QName("name"), newBean.class, bean); 

Marshaller marshaller = jaxbContext.createMarshaller(); 
marshaller.marshal(jaxbElement, writer); 

String result = writer.toString(); 

// print result to console 
System.out.println(result); 

, но с @XmlRootElement может эту заметку быть проще:

StringWriter writer = new StringWriter(); 

JAXBContext jaxbContext = JAXBContext.newInstance(newBean.class); 

newBean bean = new newBean(); 

bean.setUsername("user"); 
bean.setPassword("secret"); 

Marshaller marshaller = jaxbContext.createMarshaller(); 
marshaller.marshal(bean, writer); 

String result = writer.toString(); 

// print result to console 
System.out.println(result); 

отмечает, что с @XmlAccessorType (XmlAccessType.FIELD), вы можете также опустить добытчик и сеттеры:

@XmlRootElement 
@XmlAccessorType(XmlAccessType.FIELD) 
@XmlType(name = "name", propOrder = { "username", "password" }) 
public static class newBean { 
    @XmlElement(name = "username", required = true) 
    protected String username; 

    @XmlElement(name = "password", required = true) 
    protected String password; 
} 
+0

Спасибо за вашу помощь. Работает. –