Java 需要JAXB方面的帮助吗
我有一个如下所示的XMLJava 需要JAXB方面的帮助吗,java,jaxb,jaxb2,Java,Jaxb,Jaxb2,我有一个如下所示的XML <Book> <Name>Book1</Name> <Cost>20$</Cost> </Book> 第一册 20$ 我使用了一个具有属性name、cost的Bean类,并成功地将xml文件内容解组为Bookbean对象 现在我想在同一个XML文件中包含多个book对象,如下所示 <Books> <Book> ... </Book>
<Book>
<Name>Book1</Name>
<Cost>20$</Cost>
</Book>
第一册
20$
我使用了一个具有属性name、cost的Bean类,并成功地将xml文件内容解组为Bookbean对象
现在我想在同一个XML文件中包含多个book对象,如下所示
<Books>
<Book>
...
</Book>
<Book>
...
</Book>
...
...
我知道我可以再创建一个名为Books.java的类,并使用@XmlElement
标记注释图书对象的arraylist并将其解组
但是,我不想再浪费一节公共课。
有人能告诉我是否有其他方法可以用JaxB解析该xml文件吗
提前感谢。找到了解决方案
我可以上下面这样的课。我可以使用列表;同一类Book.java中的变量成员,而不是使用一个或多个公共类Books.java
@XmlRootElement(name = "Books")
@XmlAccessorType(XmlAccessType.FIELD)
公共类书豆{
private String name;
private String cost;
@XmlElement(name = "Books")
public List<BookBean> books;
public BookBean(){
}
public BookBean(String s1, String s2){
name=s1;
cost=s2;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getCost() {
return cost;
}
public void setCost(String cost) {
this.cost = cost;
}
public List<BookBean> getBooks() {
return books;
}
public void setBooks(List<BookBean> books) {
this.books = books;
}
私有字符串名称;
私有字符串成本;
@xmlement(name=“Books”)
公开书目;
公共书豆(){
}
公共BookBean(字符串s1、字符串s2){
name=s1;
成本=s2;
}
公共字符串getName(){
返回名称;
}
公共void集合名(字符串名){
this.name=名称;
}
公共字符串getCost(){
退货成本;
}
公共无效设置成本(字符串成本){
成本=成本;
}
公共列表getBooks(){
还书;
}
公共书籍(列表书籍){
这本书=书;
}
}理想情况下,它应该是另一个Books类,我想不出其他方法,但如果你关心的是一个额外的公共类,也许你可以有一个Books类,Book类可以是其中的一个内部类。是的。我可以这样做,但问题是如果我使用内部类,那么我就不能访问其他类中的BookBean类方法。我必须编写一些方法,并借助Books.java类。您可以在Books类内部有一个公共的静态Book类,这样它在外部也可以使用。