我已经了解了有关JAXB的基础知识。我尝试了一个示例程序并需要一些帮助。
我创建了一个示例JAXB项目并尝试解析一个xsd及其xml文件..得到错误。后来我发现我需要jdk我的目标运行时间,因为JAXB使用了一些不在JRE中的额外文件。有人可以解释一下吗?
然后我解析了这些文件。我之前没有使用xml,所以我不确定要遵循什么语法。我认为我的xml文件应该有一些关于xsd文件的提及。它是否正确?当我在其中一个类中解析时,我生成了这个代码:
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "BookForm", propOrder = {
"author",
"title",
"genre",
"price",
"pubDate",
"review"
})
这些数据类型不应该在它们前面吗?
我的示例xsd是:
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="urn:books"
xmlns:bks="urn:books">
<xsd:element name="books" type="bks:BooksForm"/>
<xsd:complexType name="BooksForm">
<xsd:sequence>
<xsd:element name="book"
type="bks:BookForm"
minOccurs="0"
maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="BookForm">
<xsd:sequence>
<xsd:element name="author" type="xsd:string"/>
<xsd:element name="title" type="xsd:string"/>
<xsd:element name="genre" type="xsd:string"/>
<xsd:element name="price" type="xsd:float" />
<xsd:element name="pub_date" type="xsd:date" />
<xsd:element name="review" type="xsd:string"/>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:string"/>
</xsd:complexType>
我的样本xml是:
<?xml version="1.0"?>
<x:books xmlns:x="urn:books">
<book id="bk001">
<author>Writer</author>
<title>The First Book</title>
<genre>Fiction</genre>
<price>44.95</price>
<pub_date>2000-10-01</pub_date>
<review>An amazing story of nothing.</review>
</book></x:books>
在哪里可以获得有关所有这些注释的更多信息以及JAXB如何生成类?