代码之家  ›  专栏  ›  技术社区  ›  Margus

如何用woodstox stax 2序列化/反序列化XML中的类

  •  4
  • Margus  · 技术社区  · 15 年前

    我很想存档,已经做了什么 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转换。