如何为 Xml 设置 UTF-16 编码格式? [英] How to set UTF-16 encoding format for Xml?

查看:43
本文介绍了如何为 Xml 设置 UTF-16 编码格式?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要创建 xml 作为字符串传递给服务器.我已设法将数据转换为 xml,但编码格式默认设置为 utf-8.我需要的是我想将其设置为 utf-16 格式.但我没有任何设置它的想法.

I am in need to create xml as a string to pass to server. I have managed to convert the data into xml but the encoding format set to utf-8 as default. What i need is i want to set it as utf-16 format. But i haven't got any idea of setting it.

  private void XmlCreation(int size,List<DataItem> item) throws ParserConfigurationException, TransformerException
 {
  DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
  DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
  Document document = documentBuilder.newDocument();
  Element rootElement = document.createElement("ArrayOfDataItem");
  document.appendChild(rootElement);
  for (DataItem in: item)
  { 
  Element subroot = document.createElement("DataItem"); 
  rootElement.appendChild(subroot);
  Element em = document.createElement(in.getKey());
  em.appendChild(document.createTextNode(in.getValue()));
  subroot.appendChild(em); 
  }

  TransformerFactory transformerFactory = TransformerFactory.newInstance();
  Transformer transformer = transformerFactory.newTransformer();
  java.io.StringWriter sw = new java.io.StringWriter();
  DOMSource source = new DOMSource(document);

  StreamResult result =  new StreamResult(System.out);
  transformer.transform(source, result);

  String xml = sw.toString();
  System.out.println(xml);
  }
}

谢谢各位

推荐答案

这篇 文章可能对您有所帮助.基本上,您使用 OutputKeys.ENCODING 作为键和所需的编码(UTF-16")作为值调用 setOutputProperty.

This article might help you. Basically, you call setOutputProperty with OutputKeys.ENCODING as key and the desired encoding ("UTF-16") as value.

这篇关于如何为 Xml 设置 UTF-16 编码格式?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆