JAXB API 关键类与应用详解
1. JAXB API 关键类概述
JAXB(Java Architecture for XML Binding)是 Java 中用于处理 XML 数据与 Java 对象之间转换的重要 API。xjc 编译器生成的类并非开发者用于序列化或反序列化数据的类,这些生成的类和资源仅为 JAXB 运行时库提供了必要的规则和数据结构,用于处理符合特定 XML 模式的 XML 数据的编组(marshalling)和解组(unmarshalling)。
以下是 JAXB 中的几个关键类和接口及其功能:
| 类或接口(来自 javax.xml.bind) | 功能 |
| ---- | ---- |
| JAXBContext | 初始类,用于创建各种 JAXB 生成类型的 Marshaller 和 Unmarshaller 类 |
| Marshaller | 接口,允许将 JAXB 生成的对象以各种格式(流、DOM 节点、SAX 事件等)编组为 XML |
| Unmarshaller | 接口,允许将各种 XML 表示形式(流、DOM 树、SAX 事件等)解组为 JAXB 生成的类的实例 |
| Validator | 接口,用于验证 JAXB 生成的类实例所包含的数据是否符合生成它们的 XML 模式 |
2. XML 数据的编组和解组
编组和解组数据到 JAXB 类的过程通过三个类完成:JAXBContext、Marshaller 和 Unmarshaller。Marshaller 和 Unmarshaller 都从 JAXBContext 实例创建,分别完成数据的编组