IPInfoXMLBuilder.java~69~
上传用户:liming9091
上传日期:2014-10-27
资源大小:3376k
文件大小:4k
源码类别:

Java编程

开发平台:

Java

  1. package tsinghuaip;
  2. import org.xml.*;
  3. import org.w3c.dom.*;
  4. import java.io.*;
  5. import java.util.*;
  6. import javax.xml.parsers.*;
  7. import javax.xml.transform.sax.*;
  8. import javax.xml.transform.dom.*;
  9. import javax.xml.transform.*;
  10. import javax.xml.transform.stream.StreamResult;
  11. public class IPInfoXMLBuilder {
  12.     private String strTxtFileName;   //the text file name
  13.     private String strXmlFileName;   //the XML file name
  14.     private String indent=" ";
  15.     private String end="r";
  16.     private String header="<?xml version="1.0" ?>";
  17.     private Document documnet;
  18.     private Element element;
  19.     private DocumentBuilderFactory docBuilderFactory;
  20.     private DocumentBuilder docBuilder;
  21.     private Document doc;
  22.     private Element root;
  23.     public IPInfoXMLBuilder(){
  24.         strTxtFileName = new String();
  25.         strXmlFileName = new String();
  26.         try{
  27.             docBuilderFactory = DocumentBuilderFactory.newInstance();
  28.             docBuilder = docBuilderFactory.newDocumentBuilder();
  29.             doc = docBuilder.newDocument();
  30.             doc.normalize();
  31.             root = doc.createElement("IPADDRESS");
  32.         }
  33.         catch(Exception e){
  34.             e.printStackTrace();
  35.         }
  36.     }
  37.     public void TxtToXML(String strTxt, String strXml){
  38.         strTxtFileName = strTxt;
  39.         strXmlFileName = strXml;
  40.         String strSeparator = "|";  //the separator of the text file field
  41.         String strTmp = "";
  42.         try{
  43.             BufferedReader inTxt = new BufferedReader(new FileReader(strTxtFileName));
  44.             BufferedWriter outXml = new BufferedWriter(new FileWriter(strXmlFileName));
  45.             outXml.write("<?xml version= "1.0" encoding="ISO-8859-1"?>");
  46.             outXml.newLine();
  47.             outXml.write("<IPADDRESS>");
  48.             while((strTmp = inTxt.readLine()) != null){
  49.                 StringTokenizer strToken = new StringTokenizer(strTmp, "|");
  50.                 String arrTmp[];
  51.                 arrTmp = new String[3];
  52.                 for (int i = 0; i < 3; i++)
  53.                     arrTmp[i] = new String("");
  54.                 int index = 0;
  55.                 outXml.newLine();
  56.                 outXml.write("    <IPPHASE>");
  57.                 while(strToken.hasMoreElements()){
  58.                     strTmp = (String)strToken.nextElement();
  59.                     strTmp = strTmp.trim();
  60.                     arrTmp[index++] = strTmp;
  61.                 }
  62.                 Element nodeIPPhase = doc.createElement("IPPHASE");
  63.                 Element nodeStartIP = doc.createElement("STARTIP");
  64.                 Element nodeEndIP = doc.createElement("ENDIP");
  65.                 Element nodeLocal = doc.createElement("LOCAL");
  66.                 nodeStartIP.setNodeValue(arrTmp[0]);
  67.                 nodeEndIP.setNodeValue(arrTmp[1]);
  68.                 nodeLocal.setNodeValue(arrTmp[2]);
  69.                 nodeIPPhase.appendChild(nodeStartIP);
  70.                 nodeIPPhase.appendChild(nodeEndIP);
  71.                 nodeIPPhase.appendChild(nodeLocal);
  72.                 root.appendChild(nodeIPPhase);
  73.                 outXml.newLine();
  74.                 outXml.write("        <STARTIP>" + arrTmp[0] + "</STARTIP>");
  75.                 outXml.newLine();
  76.                 outXml.write("        <ENDIP>" + arrTmp[1] + "</ENDIP>");
  77.                 outXml.newLine();
  78.                 outXml.write("        <LOCAL>" + arrTmp[2] + "</LOCAL>");
  79.                 outXml.newLine();
  80.                 outXml.write("    </IPPHASE>");
  81.             }
  82.             outXml.newLine();
  83.             outXml.write("</IPADDRESS>");
  84.             outXml.flush();
  85.             doc.appendChild(root);
  86.             Source source = new DOMSource(doc);
  87.             File file = new File("DOMXML.xml");
  88.             Result result = new StreamResult(file);
  89.             Transformer xformer = TransformerFactory.newInstance().newTransformer();
  90.             xformer.transform(source, result);
  91.         }
  92.         catch(Exception e){
  93.             e.printStackTrace();
  94.         }
  95.     }
  96.     public static void main(String[] args) {
  97.     }
  98. }