|
||||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.lang.Object gboat2.base.bridge.util.xml.JAXBUtil
public class JAXBUtil
使用 JAXB(Java Architecture for XML Binding) 实现 XML 与 JavaBean 之间相互转换的工具类。
利用JAXB实现XML与Javabean之间的相互转换的大致思想:利用XML的生成相应的 XSD(XML Schema Definition,XSD) 或者 DTD(Documnet Type Definition),然后利用该 XSD 或 DTD 生成对应的 javabean 和 ObjectFactory。
1. 利用XML生成相应XSD或者DTD 1.1 生成 XSD:可以通过一个在线工具完成,网址: http://www.freeformatter.com/xsd-generator.html#ad-output 1.2 生成 DTD:可以使用一个java小工具,下载地址:http://sourceforge.net/projects/xml2dtd/ 2. 利用生成的 XSD 或者 DTD 生成 java 类 2.1 命令行的方式(JDK6的支持): (a) XSD生成java: cmd --> cd XSD所在文件夹--> xjc -d . –p 包名 ./xxx.xsd (b) DTD生成java: cmd --> cd DTD所在文件夹 --> xjc -dtd –d . –p 包名 ./xxx.dtd 2.2 利用 Eclipse 生成 java 类(只适用于 XSD): 选中 XSD 文件,右键 --> Generate --> JAXB Classes... 然后根据向导一步一步操作即可。 注意:XML 里面最好不要包含 value 等敏感关键字,如果包含,可先用别的名词替换,生成完 javabean 后再修改 javabean。
构造方法摘要 | |
---|---|
JAXBUtil()
|
方法摘要 | ||
---|---|---|
static
|
castClone(Object source,
Class<T> destType)
跨类型复制 JAXBElement Bean(深度复制) |
|
static
|
castClone(Object source,
Class<T> destType,
ClassLoader destClassLoader)
跨类型复制 JAXBElement Bean(深度复制) |
|
static Marshaller |
createMarshaller(Class<?>... classesToBeBound)
创建 JAXB 编组实例 |
|
static Marshaller |
createMarshaller(String contextPath)
创建 JAXB 编组实例 |
|
static Marshaller |
createMarshaller(String contextPath,
ClassLoader classLoader)
创建 JAXB 编组实例 |
|
static Unmarshaller |
createUnmarshaller(Class<?>... classesToBeBound)
创建 JAXB 解组实例 |
|
static Unmarshaller |
createUnmarshaller(String contextPath)
创建 JAXB 解组实例 |
|
static Unmarshaller |
createUnmarshaller(String contextPath,
ClassLoader classLoader)
创建 JAXB 解组实例 |
|
static
|
deepCopyJAXB(T jaxbObj)
深度复制 JAXB 对象 |
|
static String |
object2xml(Object obj)
将 Java 对象转换为 XML 字符串 |
|
static void |
object2xml(Object obj,
File xmlFile)
将 Java 对象转换为 XML,并保存到文件中 |
|
static void |
object2xml(Object obj,
OutputStream out)
将 Java 对象转换为 XML,并保存到文件中 |
|
static void |
object2xml(Object obj,
String xmlFilePath)
将 Java 对象转换为 XML,并保存到文件中 |
|
static void |
object2xml(Object obj,
Writer writer)
将 Java 对象转换为 XML |
|
static
|
xml2object(File xmlFile,
Class<T> beanClass)
将 XML 文件转换成 Java 对象 |
|
static
|
xml2object(InputStream input,
Class<T> beanClass)
将输入流中的 XML 数据换成 Java 对象 |
|
static
|
xml2object(Reader reader,
Class<T> beanClass)
将 XML Reader 转换成 Java 对象 |
|
static
|
xml2object(String xml,
Class<T> beanClass)
将 XML 字符串转换成 Java 对象 |
|
static
|
xml2object(URL url,
Class<T> beanClass)
将 URL 中的 XML 数据换成 Java 对象 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
构造方法详细信息 |
---|
public JAXBUtil()
方法详细信息 |
---|
public static Marshaller createMarshaller(Class<?>... classesToBeBound)
classesToBeBound
- 要通过 JAXBContext
进行编组的类
public static Marshaller createMarshaller(String contextPath)
contextPath
- 上下文路径,由“:”连接的多个包名
public static Marshaller createMarshaller(String contextPath, ClassLoader classLoader)
contextPath
- 上下文路径,由“:”连接的多个包名classLoader
- 类加载器
public static Unmarshaller createUnmarshaller(Class<?>... classesToBeBound)
classesToBeBound
- 要通过 JAXBContext
进行解组的类
public static Unmarshaller createUnmarshaller(String contextPath)
contextPath
- 上下文路径,由“:”连接的多个包名
public static Unmarshaller createUnmarshaller(String contextPath, ClassLoader classLoader)
contextPath
- 上下文路径,由“:”连接的多个包名classLoader
- 类加载器
public static String object2xml(Object obj)
obj
- 要转换的 Java 对象
public static void object2xml(Object obj, Writer writer)
obj
- 要转换的 Java 对象writer
- 输出对象public static void object2xml(Object obj, String xmlFilePath)
obj
- 要转换的 Java 对象xmlFilePath
- XML 文件保存路径public static void object2xml(Object obj, File xmlFile)
obj
- 要转换的 Java 对象xmlFile
- XML 文件public static void object2xml(Object obj, OutputStream out)
obj
- 要转换的 Java 对象out
- 输出对象public static <T> T xml2object(String xml, Class<T> beanClass)
xml
- XML 字符串beanClass
- 目标 Java 类型
public static <T> T xml2object(Reader reader, Class<T> beanClass)
reader
- 字符输入流beanClass
- 目标 Java 类型
public static <T> T xml2object(File xmlFile, Class<T> beanClass)
xmlFile
- XML 文件beanClass
- 目标 Java 类型
public static <T> T xml2object(URL url, Class<T> beanClass)
url
- beanClass
- 目标 Java 类型
public static <T> T xml2object(InputStream input, Class<T> beanClass)
input
- XML 数据输入流beanClass
- 目标 Java 类型
public static <T> T deepCopyJAXB(T jaxbObj)
jaxbObj
- 源对象
public static <T> T castClone(Object source, Class<T> destType)
source
- 源对象destType
- 目标类型
public static <T> T castClone(Object source, Class<T> destType, ClassLoader destClassLoader)
source
- 源对象destType
- 目标类型destClassLoader
- 加载目标类的 ClassLoader
|
||||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |