package net.maxwoods.xml; import java.io.ByteArrayOutputStream; import java.nio.charset.Charset; import java.util.Set; import java.util.SortedMap; import javax.xml.*; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.transform.OutputKeys; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Text; public class xmlstr { public static void main(String[] args) { try { System.out.println("当前JRE:" + System.getProperty("java.version")); System.out.println("当前JVM的默认字符集:" + Charset.defaultCharset()); SortedMap<String,Charset> a=Charset.availableCharsets(); Set<String> keys=a.keySet(); System.out.println("字符集数:"+keys.size()); for (String string : keys) { System.out.println(string); } Charset s=Charset.forName("GBK"); System.out.println(s.displayName()); System.out.println(s.name()); // 生成XML DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder=factory.newDocumentBuilder(); Document doc = builder.newDocument(); Element element=doc.createElement("测试"); doc.appendChild(element); Text tn=doc.createTextNode("中文字符"); element.appendChild(tn); System.out.println(DocumentToString(doc)); System.out.println(doc.getXmlEncoding()); } catch(Exception e) { } } public static String DocumentToString(Document doc) { try { TransformerFactory tf = TransformerFactory.newInstance(); Transformer t = tf.newTransformer(); t.setOutputProperty(OutputKeys.ENCODING,"GBK"); t.setOutputProperty(OutputKeys.INDENT, "yes"); t.setOutputProperty(OutputKeys.MEDIA_TYPE, "text/xml"); t.setOutputProperty(OutputKeys.STANDALONE,"yes"); ByteArrayOutputStream bos = new ByteArrayOutputStream(); t.transform(new DOMSource(doc), new StreamResult(bos)); byte[] bytes=bos.toByteArray(); String x=new String(bytes,"GBK"); System.out.println(x); return bos.toString("GBK"); } catch(Exception e) { return ""; } } }
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END