zoukankan      html  css  js  c++  java
  • 用JDOM解析XML文件时如何解决中文问题?如何解析?

     1 import javax.xml.parsers.DocumentBuilder;
     2 import javax.xml.parsers.DocumentBuilderFactory;
     3 import javax.xml.transform.OutputKeys;
     4 import javax.xml.transform.Transformer;
     5 import javax.xml.transform.TransformerFactory;
     6 import javax.xml.transform.dom.DOMSource;
     7 import javax.xml.transform.stream.StreamResult;
     8 
     9 import org.w3c.dom.Document;
    10 import org.w3c.dom.Element;
    11 
    12 public class DOMTest {
    13     private String inFile = "D:\test.xml";
    14     private String outFile = "D:\test.xml";
    15 
    16     public static void main(String[] args) {
    17         new DOMTest();
    18     }
    19 
    20     public DOMTest() {
    21         try {
    22             //1、获取DOM解析器工厂,以便产生解析器;2、获取DOM解析器,以便解析DOM
    23             DocumentBuilder builder = DocumentBuilderFactory
    24                     .newInstance().newDocumentBuilder();
    25             Document doc = builder.newDocument();
    26             //创建元素
    27             Element root = doc.createElement("person");
    28             Element a = doc.createElement("name");
    29             Element b = doc.createElement("age");
    30             //向指定元素节点中增加子元素节点或增加元素到子节点
    31             a.appendChild(doc.createTextNode("小白"));
    32             b.appendChild(doc.createTextNode("18岁"));
    33             root.appendChild(a);
    34             root.appendChild(b);
    35             doc.appendChild(root);
    36             //设置后要把DOM写回XML文件
    37             Transformer transformer = TransformerFactory
    38                     .newInstance().newTransformer();
    39             //编码指定Transformer应该使用的首选字符编码,将字符序列作为字节序列进行编码
    40             transformer.setOutputProperty(OutputKeys.ENCODING, "gb2312");
    41             //缩进指定Transformer是否可以添加额外的空白,同时输出
    42             transformer.setOutputProperty(OutputKeys.INDENT, "yes");
    43             transformer.transform(new DOMSource(doc), new StreamResult(outFile));
    44         } catch (Exception e) {
    45             System.out.println(e.getMessage());
    46         }
    47     }
  • 相关阅读:
    PHP 处理接口保证数据安全性
    zeromq使用模式实验总结
    文件描述符设置
    配置openssh实现sftp远程文件上传
    系统信号(signal)与其他(定时器,退出清理等)
    Python Subprocess Popen 管道阻塞问题分析解决
    fastcgi协议之一:定义
    命名空间与自动加载机制
    PSR规范
    细说php的异常和错误处理机制
  • 原文地址:https://www.cnblogs.com/DebugTheWorld/p/9807842.html
Copyright © 2011-2022 走看看