<form id="hz9zz"></form>
  • <form id="hz9zz"></form>

      <nobr id="hz9zz"></nobr>

      <form id="hz9zz"></form>

    1. 明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

      這里轉貼一個使用java在處理xml時遇到中文問題的處理方法

      [摘要]------------author:wait4friend------------共有三種方法,分別使用了JDK, xerces.jar或jdom.jar。直接貼出原碼:/** *Use this...
      ------------
      author:wait4friend
      ------------

      共有三種方法,分別使用了JDK, xerces.jar或jdom.jar。
      直接貼出原碼:

      /**
      *Use this program to indicate how to save a XML file, resolving the problem
      *about CharacterSet, I mean GB2312 here can be dealt with correctly
      *
      * @author Michael Zeng
      */
      package classes;

      import java.io.*;

      public class DOMTest
      {
      private String inFile = "E:/About XML/Java_XML/XmlData/mapping.xml";
      private String outFile = "E:/About XML/Java_XML/XmlData/my.xml";

      public static void main(String args[])
      {
      new DOMTest();
      }

      //Approach 1:only use the JDK 1.4
      //In this case, I handle the Chinese correctly with the TransFormer.setOutputProperty()
      //These packages are necessary:
      //org.w3c.dom
      //javax.xml.parsers
      //javax.xml.transform
      //javax.xml.transform.dom
      //javax.xml.transform.stream
      public DOMTest()
      {
      try
      {
      //code to create a new DOM document goes here...
      javax.xml.parsers.DocumentBuilder builder =
      javax.xml.parsers.DocumentBuilderFactory.newInstance().newDocumentBuilder();
      org.w3c.dom.Document doc = builder.newDocument();

      //Add some elements here...
      org.w3c.dom.Element root = doc.createElement("老師");
      org.w3c.dom.Element wang = doc.createElement("王");
      wang.appendChild(doc.createTextNode("我是王老師"));
      root.appendChild(wang);
      doc.appendChild(root);

      //code to save goes here...
      javax.xml.transform.Transformer transformer =
      javax.xml.transform.TransformerFactory.newInstance().newTransformer();
      //Notice this first sentence below, which resolves the problem of Chinese
      transformer.setOutputProperty(javax.xml.transform.OutputKeys.ENCODING, "gb2312");
      transformer.setOutputProperty(javax.xml.transform.OutputKeys.INDENT, "yes");

      transformer.transform(new javax.xml.transform.dom.DOMSource(doc),
      new javax.xml.transform.stream.StreamResult(outFile));
      }
      catch (Exception e)
      {
      System.out.println (e.getMessage());
      }
      }

      //Approach 2:use Xerces additionally. The xerces.jar must have been in
      //your CLASSPATH
      //In this case, Chinese characters can be handled successfully.
      //These packages are necessary:
      //org.w3c.dom
      //org.apache.xerces.parsers
      //org.apache.xml.serialize
      ////public DOMTest()
      ////{
      ////try
      ////{
      //////code to parse an existed XML file goes here...
      ////org.apache.xerces.parsers.DOMParser parser =
      ////new org.apache.xerces.parsers.DOMParser();
      ////parser.parse(inFile);
      ////org.w3c.dom.Document.doc = parser.getDocument();
      ////
      //////code to save goes here...
      ////FileWriter writer = new FileWriter(outFile);
      //////Pay attention to the OutputFormat constructor, which set the GB2312
      ////org.apache.xml.serialize.OutputFormat outputFormat =
      ////new org.apache.xml.serialize.OutputFormat(doc, "GB2312", true);
      ////
      ////org.apache.xml.serialize.XMLSerializer serializer =
      ////new org.apache.xml.serialize.XMLSerializer(writer, outputFormat);
      ////serializer.serialize(doc);
      ////writer.close();
      ////}
      ////catch (Exception e)
      ////{
      ////System.out.println (e.getMessage());
      ////}
      ////}

      //Approach 3: use the JDOM package, and this is the simplest one. Additionally,
      //the jdom.jar must have been in your CLASSPATH
      //These package are necessary:
      //org.jdom
      //org.jdom.input
      //org.jdom.output
      ////public DOMTest()
      ////{
      ////try
      ////{
      //////code to parse an existed XML file goes here...
      ////org.jdom.input.SAXBuilder builder = new org.jdom.input.SAXBuilder();
      ////org.jdom.Document doc = builder.build(inFile);
      ////
      //////code to save goes here...
      ////FileWriter writer = new FileWriter(outFile);
      ////
      ////org.jdom.output.XMLOutputter outputter =
      ////new org.jdom.output.XMLOutputter("", true, "GB2312");
      ////outputter.output(doc, writer);
      ////writer.close();
      ////}
      ////catch (Exception e)
      ////{
      ////System.out.println (e.getMessage());
      ////}
      ////}
      }


      日韩精品一区二区三区高清