0

所以我的代码很简单,它创建了我想要它创建的东西,但我不知道我是否真的看到使用这个javax.xml.stream包有什么好处。

我的要求是否太基本而无法真正使用该课程?我看到的唯一真正的好处是writer.EndElement()正确writer.EndDocument()地关闭标签,但是我不知道有一种方法可以创建新的行或标签(也就是正确的格式),而无需像我在下面所做的那样手动编写它们。

    public void WriteUserInfo(String username, String password) 
            throws FileNotFoundException, XMLStreamException {

        outputStream = new FileOutputStream(getXmlFile());
        factory = XMLOutputFactory.newInstance();
        writer = factory.createXMLStreamWriter(outputStream);
        writer.writeStartDocument(XMLTAG);
        writer.writeCharacters("\n");
        writer.writeStartElement(USER);
        writer.writeCharacters("\n\t");
        writer.writeStartElement(USERNAME);
        writer.writeCharacters(username);
        writer.writeEndElement();
        writer.writeCharacters("\n\t");
        writer.writeStartElement(PASSWORD);
        writer.writeCharacters(password);
        writer.writeEndElement();
        writer.writeCharacters("\n");
        writer.writeEndDocument();
        writer.close();
    }
4

1 回答 1

0

考虑使用 Saxon 的 XMLStreamWriter 接口实现。这提供了广泛的序列化选项,包括自动缩进(加上 XSLT xsl:output 中可用的所有其他选项)。您可以通过 s9api Serializer 类获得它。

于 2014-03-25T23:59:52.607 回答