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

Java编程

开发平台:

Java

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