0

从 a 解组File

   JAXBContext jc = JAXBContext.newInstance( "com.acme.foo" );
   Unmarshaller u = jc.createUnmarshaller();
   Object o = u.unmarshal( new File( "nosferatu.xml" ) );

从 解组InputStream

   InputStream is = new FileInputStream( "nosferatu.xml" );
   JAXBContext jc = JAXBContext.newInstance( "com.acme.foo" );
   Unmarshaller u = jc.createUnmarshaller();
   Object o = u.unmarshal( is );
4

1 回答 1

0

JAXB ( JSR-222) API 已经非常通用。

JAXB上下文

该对象是线程安全的,因此您只需创建一次并从中创建所有 、 等Marshaller实例。Unmarshaller

编组器/解组器

这些对象不是线程安全的,因此您需要确保它们不会同时被多个线程使用。除非您设置任何属性,否则您总是可以这样做:

JAXBContext jc = JAXBContext.newInstance("com.acme.foo");
Object o = jc.createUnmarshaller().unmarshal(new File("nosferatu.xml"));
于 2012-10-10T18:51:59.037 回答