java 生成xml 编码 utf-f 、 gb2312

没有难度,直接上代码了

/**
	 * 
	 * @param fileName
	 */
	public static void createXmlUtf_8(String fileName) {

		Element root = DocumentHelper.createElement("root");
		Document document = DocumentHelper.createDocument(root);
		Element title = root.addElement("title");
		title.setText("标题");// 赋值

		try {// 写入文件
			FileWriter fileWriter = new FileWriter(fileName);
			OutputFormat format = new OutputFormat();
			XMLWriter xmlWriter = new XMLWriter(fileWriter, format);
			xmlWriter.write(document); // 写入文件中
			xmlWriter.close();
		} catch (IOException e) {
			System.out.println(e.getMessage());
		}
	}
	/**
	 * 
	 * @param fileName
	 */
	public static void createXmlGb2312(String fileName) {
		Element root = DocumentHelper.createElement("root");
		Document document = DocumentHelper.createDocument(root);
		document.setXMLEncoding("gb2312");
		Element title = root.addElement("title");
		title.setText("标题");// 赋值

		try {// 写入文件
			 java.io.Writer wr=new java.io.OutputStreamWriter(new java.io.FileOutputStream(fileName),"gb2312");  
			 document.write(wr);  
			 wr.close();
		} catch (IOException e) {
			System.out.println(e.getMessage());
		}
	}

结果:

 <?xml version="1.0" encoding="UTF-8" ?> 
 <root>
  <title>标题</title> 
  </root>

<?xml version="1.0" encoding="gb2312" ?> 
 <root>
  <title>标题</title> 
  </root>



  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用Java中的DOM API来创建XML文件,并使用Java中的压缩流API将其压缩成字节流,并且可以指定XML文件的编码UTF-8,最终将其发送给用户。以下是一个示例代码: ```java protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 创建XML文档 DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); Document doc = builder.newDocument(); // 创建XML元素 Element root = doc.createElement("root"); doc.appendChild(root); Element child1 = doc.createElement("child1"); child1.setTextContent("This is child1"); root.appendChild(child1); Element child2 = doc.createElement("child2"); child2.setTextContent("This is child2"); root.appendChild(child2); // 将XML文档转换成字节数组 TransformerFactory transformerFactory = TransformerFactory.newInstance(); Transformer transformer = transformerFactory.newTransformer(); transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8"); ByteArrayOutputStream bos = new ByteArrayOutputStream(); transformer.transform(new DOMSource(doc), new StreamResult(new OutputStreamWriter(bos, "UTF-8"))); byte[] xmlBytes = bos.toByteArray(); // 压缩XML字节数组 ByteArrayOutputStream compressedBos = new ByteArrayOutputStream(); ZipOutputStream zos = new ZipOutputStream(compressedBos); zos.putNextEntry(new ZipEntry("file.xml")); zos.write(xmlBytes); zos.closeEntry(); zos.close(); byte[] compressedBytes = compressedBos.toByteArray(); // 设置响应头信息 response.setContentType("application/zip"); response.setHeader("Content-Disposition", "attachment;filename=myfile.zip"); // 将压缩后的字节数组写入响应输出流中 OutputStream out = response.getOutputStream(); out.write(compressedBytes); out.flush(); out.close(); } ``` 在上面的代码中,我们首先使用DOM API创建了一个XML文档。然后,我们将XML文档转换成字节数组,并使用ZipOutputStream将其压缩成字节数组。在转换XML文档时,我们指定了编码UTF-8。最后,我们设置响应头信息,指定要下载的文件名和类型为application/zip,并将压缩后的字节数组写入响应输出流中,完成文件的发送。 需要注意的是,以上代码中创建的XML文件比较简单,如果需要创建更复杂的XML文件,可以使用Java中的DOM API或者其他XML API来实现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值