2012-01-16 43 views
0

不久之前,我发现了一种通过HTTP连接从Servlet发送XML文档的DOM表示的方法。 AFAIK需要DOM 3 LS(LoadStore),但StackOverflow上显示如何执行的线程似乎已经消失。通过HTTP输出Java DOM

任何人都可以告诉我怎么做吗?

回答

1

使用JAXP:

response.setHeader("Content-Type", "application/xml"); 
OutputStream out = response.getOutputStream(); 
TransformerFactory.newInstance().newTransformer().transform(new DOMSource(dom), new StreamResult(out)); 

您可能需要使用JAX RS代替(从未使用过它):

@Path("/foo.xml") 
public class MyResource { 
    @GET @Produces(MediaType.APPLICATION_XML) 
    public Source asXml() { 
    // TODO, get your DOM somehow 
    return new DOMSource(dom); 
    } 
} 
+0

感谢您的答复。不知道这是不是一个无关的问题,但如果我将代码放置在默认情况下放置在Eclipse中的主servlet文件中,但是如果我将代码放在另一个文件中,则会出现以下错误:解析错误:没有找到元素(不知道是什么原因造成的)。 – johngoche9999 2012-01-16 22:04:16

+0

由于您尚未映射其他servlet,并且仍在查询“默认”的servlet吗?我没有其他想法... – ysdx 2012-01-16 22:17:38