- java.lang.Object
-
- javax.xml.bind.JAXB
-
public final class JAXB extends Object
定义方便方法的类用于常见,简单的使用JAXB。在这一类中定义的方法是,在把几个基本操作方便的方法
JAXBContext
,Unmarshaller
,并Marshaller
。 它们被设计为JAXB新开发者的首选方法。 它们具有以下特征:- 一般而言,表现并不一定是最佳的。 预计需要编写性能关键代码的人将直接使用其余的JAXB API。
- 在处理过程中发生的错误包含在
DataBindingException
(其中将有JAXBException
作为其cause
) 。预计喜欢被检查异常的人将直接使用其余的JAXB API。
另外,
unmarshal
方法具有以下特点:- 不对输入XML执行模式验证。 即使XML中存在错误,处理也将尽可能的继续进行。 只有作为最后的手段,这种方法失败了
DataBindingException
。
类似地,
marshal
方法具有以下特征:- 即使Java对象树不符合有效性要求,处理也将继续进行。 只有作为最后的手段,这种方法失败了
DataBindingException
。
该类上的所有方法都需要对所有参数的非空参数。
unmarshal
方法会失败或异常返回非空值。- 从以下版本开始:
- 1.6,JAXB 2.1
-
-
方法摘要
所有方法 静态方法 具体的方法 Modifier and Type 方法 描述 static void
marshal(Object jaxbObject, File xml)
将Java对象树写入XML并将其存储到指定的位置。static void
marshal(Object jaxbObject, OutputStream xml)
将Java对象树写入XML并将其存储到指定的位置。static void
marshal(Object jaxbObject, Writer xml)
将Java对象树写入XML并将其存储到指定的位置。static void
marshal(Object jaxbObject, String xml)
将Java对象树写入XML并将其存储到指定的位置。static void
marshal(Object jaxbObject, URI xml)
将Java对象树写入XML并将其存储到指定的位置。static void
marshal(Object jaxbObject, URL xml)
将Java对象树写入XML并将其存储到指定的位置。static void
marshal(Object jaxbObject, Result xml)
将Java对象树写入XML并将其存储到指定的位置。static <T> T
unmarshal(File xml, Class<T> type)
从给定的XML输入中读取Java对象树。static <T> T
unmarshal(InputStream xml, Class<T> type)
从给定的XML输入中读取Java对象树。static <T> T
unmarshal(Reader xml, Class<T> type)
从给定的XML输入中读取Java对象树。static <T> T
unmarshal(String xml, Class<T> type)
从给定的XML输入中读取Java对象树。static <T> T
unmarshal(URI xml, Class<T> type)
从给定的XML输入中读取Java对象树。static <T> T
unmarshal(URL xml, Class<T> type)
从给定的XML输入中读取Java对象树。static <T> T
unmarshal(Source xml, Class<T> type)
从给定的XML输入中读取Java对象树。
-
-
-
方法详细信息
-
unmarshal
public static <T> T unmarshal(File xml, Class<T> type)
从给定的XML输入中读取Java对象树。- 参数
-
xml
- 将整个文件作为XML读取。
-
unmarshal
public static <T> T unmarshal(URL xml, Class<T> type)
从给定的XML输入中读取Java对象树。- 参数
-
xml
- URL所指向的资源全部被读取。
-
unmarshal
public static <T> T unmarshal(URI xml, Class<T> type)
从给定的XML输入中读取Java对象树。- 参数
-
xml
- 该URI为turned into URL
,然后遵循URL
的处理。
-
unmarshal
public static <T> T unmarshal(String xml, Class<T> type)
从给定的XML输入中读取Java对象树。- 参数
-
xml
- 该字符串首先解释为绝对值URI
。 如果不是a valid absolute URI
,那么它被解释为File
-
unmarshal
public static <T> T unmarshal(InputStream xml, Class<T> type)
从给定的XML输入中读取Java对象树。- 参数
-
xml
- 将整个流作为XML信息集读取。 成功完成后,该流将通过此方法关闭。
-
unmarshal
public static <T> T unmarshal(Reader xml, Class<T> type)
从给定的XML输入中读取Java对象树。- 参数
-
xml
- 字符流作为XML信息集读取。 XML中的编码声明将被忽略。 成功完成后,该流将通过此方法关闭。
-
unmarshal
public static <T> T unmarshal(Source xml, Class<T> type)
从给定的XML输入中读取Java对象树。- 参数
-
xml
- 读取Source
表示的XML信息集。
-
marshal
public static void marshal(Object jaxbObject, File xml)
将Java对象树写入XML并将其存储到指定的位置。- 参数
-
jaxbObject
- 要编组为XML的Java对象。 如果此对象是一个JAXBElement
,它将提供根标签名称和正文。 如果此对象在其类定义上具有XmlRootElement
,则将用作根标记名称,给定对象将提供正文。 否则,根标记名称为infered
,来自the short class name
。 此参数不能为空。 -
xml
- XML将被写入此文件。 如果它已经存在,它将被覆盖。 - 异常
-
DataBindingException
- 如果操作失败,例如由于I / O错误,不可绑定的类。
-
marshal
public static void marshal(Object jaxbObject, URL xml)
将Java对象树写入XML并将其存储到指定的位置。- 参数
-
jaxbObject
- 要编组为XML的Java对象。 如果此对象是一个JAXBElement
,它将提供根标签名称和正文。 如果此对象在其类定义上具有XmlRootElement
,那么将用作根标记名称,给定对象将提供正文。 否则,根标记名称为infered
,来自the short class name
。 此参数不能为空。 -
xml
- 该URL指向的资源将为sent
。 请注意,并不是所有的URL
支持这样的操作,精确的语义取决于URL
实现。 在HTTP URLs
的情况下,这将执行HTTP POST。 - 异常
-
DataBindingException
- 如果操作失败,例如由于I / O错误,不可绑定的类。
-
marshal
public static void marshal(Object jaxbObject, URI xml)
将Java对象树写入XML并将其存储到指定的位置。- 参数
-
jaxbObject
- 要编组为XML的Java对象。 如果此对象是一个JAXBElement
,它将提供根标签名称和正文。 如果此对象在其类定义上具有XmlRootElement
,那么将用作根标记名称,给定对象将提供正文。 否则,根标记名称为infered
,来自the short class name
。 此参数不能为空。 -
xml
- URI是turned into URL
,然后按照URL
处理。 往上看。 - 异常
-
DataBindingException
- 如果操作失败,例如由于I / O错误,不可绑定的类。
-
marshal
public static void marshal(Object jaxbObject, String xml)
将Java对象树写入XML并将其存储到指定的位置。- 参数
-
jaxbObject
- 要编组为XML的Java对象。 如果此对象是一个JAXBElement
,它将提供根标签名称和正文。 如果此对象在其类定义上具有XmlRootElement
,则将用作根标记名称,给定对象将提供正文。 否则,根标记名称为infered
,来自the short class name
。 此参数不能为空。 -
xml
- 该字符串首先解释为绝对值URI
。 如果不是a valid absolute URI
,那么它被解释为File
- 异常
-
DataBindingException
- 如果操作失败,例如由于I / O错误,不可绑定的类。
-
marshal
public static void marshal(Object jaxbObject, OutputStream xml)
将Java对象树写入XML并将其存储到指定的位置。- 参数
-
jaxbObject
- 要编组为XML的Java对象。 如果此对象是一个JAXBElement
,它将提供根标签名称和正文。 如果此对象在其类定义上具有XmlRootElement
,那么将用作根标记名称,给定对象将提供正文。 否则,根标记名称为infered
,来自the short class name
。 此参数不能为空。 -
xml
- XML将发送给给定的OutputStream
。 成功完成后,该流将通过此方法关闭。 - 异常
-
DataBindingException
- 如果操作失败,例如由于I / O错误,不可绑定的类。
-
marshal
public static void marshal(Object jaxbObject, Writer xml)
将Java对象树写入XML并将其存储到指定的位置。- 参数
-
jaxbObject
- 要编组为XML的Java对象。 如果此对象是一个JAXBElement
,它将提供根标签名称和正文。 如果此对象在其类定义上具有XmlRootElement
,则将用作根标记名称,给定对象将提供正文。 否则,根标记名称为infered
,从the short class name
。 此参数不能为空。 -
xml
- XML将作为字符流发送给给定的Writer
。 成功完成后,该流将通过此方法关闭。 - 异常
-
DataBindingException
- 如果操作失败,例如由于I / O错误,不可绑定的类。
-
marshal
public static void marshal(Object jaxbObject, Result xml)
将Java对象树写入XML并将其存储到指定的位置。- 参数
-
jaxbObject
- 要编组为XML的Java对象。 如果此对象是一个JAXBElement
,它将提供根标签名称和正文。 如果此对象在其类定义上具有XmlRootElement
,那么将用作根标记名称,给定对象将提供正文。 否则,根标记名称为infered
,来自the short class name
。 此参数不能为空。 -
xml
- XML将被发送到Result
对象。 - 异常
-
DataBindingException
- 如果操作失败,例如由于I / O错误,不可绑定的类。
-
-