Java Servlet中的dogetxml

Java Servlet中的dogetxml,java,xml,servlets,Java,Xml,Servlets,我的java类中有一个方法,它下载一个XML文件并返回一个对象 我想从这个JavaServlet类中获取此XML,但不知道如何获取 我试过这个: protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { Document document = Allmethods.getXML();

我的java类中有一个方法,它下载一个XML文件并返回一个对象

我想从这个JavaServlet类中获取此XML,但不知道如何获取

我试过这个:

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


        Document document = Allmethods.getXML();

        response.setContentType("text/xml;charset=UTF-8");
        response.setHeader("Cache-Control", "no-cache");
        response.getWriter().write(document);

    }

但它不起作用,因为printwriter不适用于文档对象。如何将其存档?

我成功地遵循了@Jim Garrison的提示

Document document = Allmethods.getXML();

        TransformerFactory tf = TransformerFactory.newInstance();
        Transformer transformer = tf.newTransformer();
        transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");

        StringWriter writer = new StringWriter();
        transformer.transform(new DOMSource(document), new StreamResult(writer));
        String output = writer.getBuffer().toString();

        response.setContentType("text/xml;charset=UTF-8");
        response.setHeader("Cache-Control", "no-cache");
        response.getWriter().write(output);

必须先将文档序列化为字符串,然后才能输出它。我已经有一段时间没有处理过这个问题了,但我相信您需要使用默认样式表(标识转换)通过XSL转换运行
文档?