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

Java编程

开发平台:

Java

  1. package tsinghuaip;
  2. import org.w3c.dom.*;
  3. import java.io.*;
  4. import java.util.*;
  5. import javax.xml.parsers.*;
  6. import javax.xml.transform.sax.*;
  7. import javax.xml.transform.dom.*;
  8. import javax.xml.transform.*;
  9. import javax.xml.transform.stream.StreamResult;
  10. public class IPInfoXMLBuilder {
  11.     private String strTxtFileName; //the text file name
  12.     private String strXmlFileName; //the XML file name
  13.     private String indent = " ";
  14.     private String end = "r";
  15.     private String header = "<?xml version="1.0" ?>";
  16.     private Document documnet;
  17.     private Element element;
  18.     private DocumentBuilderFactory docBuilderFactory;
  19.     private DocumentBuilder docBuilder;
  20.     private Document doc;
  21.     private Element root;
  22.     public IPInfoXMLBuilder() {
  23.         strTxtFileName = new String();
  24.         strXmlFileName = new String();
  25.         try {
  26.             docBuilderFactory = DocumentBuilderFactory.newInstance();
  27.             docBuilder = docBuilderFactory.newDocumentBuilder();
  28.             doc = docBuilder.newDocument();
  29.             doc.normalize();
  30.             root = doc.createElement("IPADDRESS");
  31.         }
  32.         catch (Exception e) {
  33.             e.printStackTrace();
  34.         }
  35.     }
  36.     public void TxtToXML(String strTxt, String strXml) {
  37.         strTxtFileName = strTxt;
  38.         strXmlFileName = strXml;
  39.         String strSeparator = "|"; //the separator of the text file field
  40.         String strTmp = "";
  41.         try {
  42.             BufferedReader inTxt = new BufferedReader(new FileReader(
  43.                 strTxtFileName));
  44.             BufferedWriter outXml = new BufferedWriter(new FileWriter(
  45.                 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().
  91.                 newTransformer();
  92.             xformer.transform(source, result);
  93.         }
  94.         catch (Exception e) {
  95.             e.printStackTrace();
  96.         }
  97.     }
  98.     public static void main(String[] args) {
  99.     }
  100. }