2012-01-16 46 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