Java 需要JAXB方面的帮助吗

Java 需要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>

我有一个如下所示的XML

<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类,这样它在外部也可以使用。