使用PrintWriter在Javaservlet上输出XML
我曾经将ArrayList转换为XML。我的代码正在成功地将XML输出到Eclipse控制台 下面是我的代码片段使用PrintWriter在Javaservlet上输出XML,java,xml,eclipse,servlets,Java,Xml,Eclipse,Servlets,我曾经将ArrayList转换为XML。我的代码正在成功地将XML输出到Eclipse控制台 下面是我的代码片段 DocumentBuilderFactory dFact = DocumentBuilderFactory.newInstance(); DocumentBuilder build = dFact.newDocumentBuilder(); Document doc = build.newDocument(); Element root = doc.createElement("P
DocumentBuilderFactory dFact = DocumentBuilderFactory.newInstance();
DocumentBuilder build = dFact.newDocumentBuilder();
Document doc = build.newDocument();
Element root = doc.createElement("Properties");
doc.appendChild(root);
for(House house : house) {
Element Details = doc.createElement("house");
root.appendChild(Details);
Element location = doc.createElement("location");
location.appendChild(doc.createTextNode(house.getLocation()));
Details.appendChild(location);
...
}
// Save the document to the disk file
TransformerFactory tranFactory = TransformerFactory.newInstance();
Transformer aTransformer = tranFactory.newTransformer();
// format the XML nicely
aTransformer.setOutputProperty(OutputKeys.ENCODING, "ISO-8859-1");
aTransformer.setOutputProperty(
"{http://xml.apache.org/xslt}indent-amount", "4");
aTransformer.setOutputProperty(OutputKeys.INDENT, "yes");
DOMSource source = new DOMSource(doc);
StreamResult result = new StreamResult(System.out);
aTransformer.transform(source, result);
我不想将此XML输出到Eclipse控制台,而是想在servlet上打印出XML
我使用以下代码对jsonObject做了类似的操作:
PrintWriter out = resp.getWriter();
...
out.print(jsonObject);
out.close();
但我似乎不知道如何使用此方法输出XML
请有人给我指一下正确的方向。谢谢您将使用
response.getOutputStream()
将XML写入Servlet输出
StreamResult result = new StreamResult(response.getOutputStream());
最好使用编写器
,可以在流结果
上使用响应.getWriter()
:
StreamResult result = new StreamResult(response.getWriter());
此外,您还需要将内容类型
标题设置为文本/html;charset=UTF-8
(如果您的编码确实是UTF-8)
我希望这会有所帮助。您将使用
response.getOutputStream()
将XML写入Servlet输出
StreamResult result = new StreamResult(response.getOutputStream());
最好使用编写器
,可以在流结果
上使用响应.getWriter()
:
StreamResult result = new StreamResult(response.getWriter());
此外,您还需要将内容类型
标题设置为文本/html;charset=UTF-8
(如果您的编码确实是UTF-8)
我希望这会有所帮助。您将使用
response.getOutputStream()
将XML写入Servlet输出
StreamResult result = new StreamResult(response.getOutputStream());
最好使用编写器
,可以在流结果
上使用响应.getWriter()
:
StreamResult result = new StreamResult(response.getWriter());
此外,您还需要将内容类型
标题设置为文本/html;charset=UTF-8
(如果您的编码确实是UTF-8)
我希望这会有所帮助。您将使用
response.getOutputStream()
将XML写入Servlet输出
StreamResult result = new StreamResult(response.getOutputStream());
最好使用编写器
,可以在流结果
上使用响应.getWriter()
:
StreamResult result = new StreamResult(response.getWriter());
此外,您还需要将内容类型
标题设置为文本/html;charset=UTF-8
(如果您的编码确实是UTF-8)
我希望这有帮助。您应该设置内容类型:
response.setContentType("text/xml; charset=UTF-8"); //you can set the encode you want to charset
PrintWriter out = response.getWriter();
out.print(yourXmlString);
您应该设置内容类型:
response.setContentType("text/xml; charset=UTF-8"); //you can set the encode you want to charset
PrintWriter out = response.getWriter();
out.print(yourXmlString);
您应该设置内容类型:
response.setContentType("text/xml; charset=UTF-8"); //you can set the encode you want to charset
PrintWriter out = response.getWriter();
out.print(yourXmlString);
您应该设置内容类型:
response.setContentType("text/xml; charset=UTF-8"); //you can set the encode you want to charset
PrintWriter out = response.getWriter();
out.print(yourXmlString);