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     }
  • 相关阅读:
    h5混合开发好用的下拉刷新插件
    设置窗体可以使用鼠标拖动大小 通过
    C# 使用System.Data.OleDb;避免oracle中文乱码问题
    C# 开启一个新进程并为新进程设置工作目录
    WPF窗体程序入口 自定义窗体启动页面
    WorkFlow WF如何为一个集合赋值
    第三方框架的使用
    AppIcon应用图标 and Launchimage启动图标的制作
    在didSelectRowAtIndexPath 里面取cell的方法
    iOS 开发技术体系
  • 原文地址:https://www.cnblogs.com/DebugTheWorld/p/9807842.html
Copyright © 2011-2022 走看看