如何使用Woodstox StAX 2在XML中序列化/反序列化类
我几乎试图归档,在
Java中用
how-to-serialize-deserialize-simple-classes-to-xml-and-back(C#)做了什么.如果可能的话,我想避免为每个类编写序列化/反序列化方法.
例如,序列化的一部分: XMLOutputFactory xof = null; XMLStreamWriter2 writer = null; try { resp.setContentType("text/plain"); xof = XMLOutputFactory.newInstance(); writer = (XMLStreamWriter2) // xof.createXMLStreamWriter(resp.getOutputStream()); writer.writeStartDocument("1.0"); writer.writeStartElement("data"); // // Magic happens here. // writer.writeEndElement(); writer.writeEndDocument(); } catch (XMLStreamException e) { e.printStackTrace(); resp.sendError(1,"Problem 1 occured."); } finally { try { writer.flush(); writer.close(); } catch (XMLStreamException e) { e.printStackTrace(); resp.sendError(2,"Problem 2 occured."); } } 不是这个问题的一部分,因为我试图逐一解决问题,但可能会让你了解我正在尝试做什么.当我反序列化时,我还想检查输入是否有效.最终我想使用序列化形式的XSLT转换. 解决方法
JAXB是将Java对象序列化为XML的方式.以下内容将帮助您入门:
> http://wiki.eclipse.org/EclipseLink/Examples/MOXy/GettingStarted JAXB实现 该标准有几种实现方式: > EclipseLink MOXy(我是技术主管) Woodstox StAX 2 JAXB接受许多输入/输出格式,包括StAX. 验证 使用Unmarshaller将XML转换为对象,并使用Marshaller将对象转换为XML.您可以设置javax.xml.validation.Schema的实例以在这些操作期间验证输入. 您还可以直接使用JAXB使用javax.xml.validation API,请查看以下示例: > Checking a java value with an xml schema XSLT Java中使用javax.xml.transform库来执行XSLT转换. JAXB旨在使用JAXBSource和JAXBResult来处理这些库. 欲获得更多信息 看看我的博客: > http://bdoughan.blogspot.com (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |