0

プロジェクトの 1 つで Stax Parser を使用して XML ファイルを作成するために、以下のコードを使用しています。以前、通常の Java アプリケーションでこのコードを使用し、そこで正常に動作していました。しかし、これをサーブレットに実装すると、なぜ実行されないのかわかりません。これでエラーは発生しませんが、XMLファイルは生成されません。

private static ServletContext sc;

    public void init(ServletConfig config) throws ServletException {
        // TODO Auto-generated method stub
        sc = config.getServletContext();
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    String path = sc.getRealPath("/WEB-INF/xml");
    System.out.println("Path ==>" + path);

    XMLOutputFactory factory = XMLOutputFactory.newInstance();
    File f = new File(path+"/atms.xml");
    XMLStreamWriter writer = factory.createXMLStreamWriter(new FileOutputStream(f));

    //Some more code
        writer.writeStartDocument();
        writer.writeStartElement("xxx");

        writer.writeStartElement("yyy");
        writer.writeStartElement("id");
        writer.writeCharacters("1");
        writer.writeStartElement("name");
        writer.writeCharacters("Table");
        writer.writeStartElement("price");
        writer.writeCharacters("110");

        writer.writeEndElement();       
        writer.close();
}
4

1 に答える 1

0

以下を追加する必要があると思います。

writer.writeEndElement();

writer.writeEndDocument();

writer.flush();
writer.close();
于 2012-05-08T11:14:17.300 に答える