谁有dom4j的压缩包以及使用文档发一个
我的email是[email protected]

解决方案 »

  1.   

    偶刚刚用过 正好送段例子给你
    package baidu.server;import java.net.*;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Properties;
    import java.io.*;import org.htmlparser.beans.StringBean;
    import org.dom4j.Document;
    import org.dom4j.DocumentHelper;
    import org.dom4j.Element;
    import org.dom4j.io.XMLWriter;public class CServer extends Thread {
    private Socket client; public CServer(Socket c) {
    this.client = c;
    } public void run() {
    try {
    BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream()));
    PrintWriter out = new PrintWriter(client.getOutputStream());
    while (true) {

    StringBean myString = new StringBean();
    myString.setLinks(false);
    myString.setReplaceNonBreakingSpaces(true);
    myString.setURL("http://yp.baidu.com/m?z=1101&cl=3&ip=222.64.58.235&ct=553648128&sn=&lm=11&cm=1&sc=1&bu=&rn=20&tn=baiduyp&word=%BE%C6%B5%EA&pn=240");
    String mgstring = myString.getStrings();
    try {
    FileWriter f = new FileWriter("e:/myFile.txt");
    f.write(mgstring);
    f.close();
    } catch (Exception e) {
    e.printStackTrace();
    }
    Document document = DocumentHelper.createDocument();
    Element catalogElement = document.addElement("RESPONSE");
    Element responsecodeElement = catalogElement.addElement("RESPONSECODE");
    responsecodeElement.setText("success");
    Element itemcountsElement = catalogElement.addElement("ITEMCOUNTS");
    Element pagecountsElement = catalogElement.addElement("PAGECOUNTS");
    Element pagenoElement = catalogElement.addElement("PAGENO");
    Element timecountsElement = catalogElement.addElement("TIME");
    Element resultsElement = catalogElement.addElement("RESULTS");
    pagenoElement.setText("1");

    //read file
    //ReadFileTest toXml = new ReadFileTest();
    //toXml.getDocument();
    String fileName = "e:/myFile.txt";
    String[] nameGroup = new String[25];
    String[] provinceGroup = new String[25];
    String[] cityGroup = new String[25];
    String[] addressGroup = new String[25];
    String[] telGroup = new String[25];
    String[] postGroup = new String[25];
    File file = new File(fileName);
    String urlString=myString.getStrings();
    if (file.exists()) {
    FileReader fileReader = new FileReader(file);
    BufferedReader reader = new BufferedReader(fileReader);
    String line = "";
    String[] ss;
    int count = 0;
    int nameNumber = 0;
    int provinceNumber = 0;
    int cityNumber = 0;
    int addressNumber = 0;
    int telNumber = 0;
    int postNumber = 0;
    while ((line = reader.readLine()) != null) {//read a line
    // string
    count++;
    //ss = line.split("[|]+");
    if (count > 6) {
    if (count % 3 == 1) {
    nameGroup[nameNumber] = line;
    nameNumber++;
    //Element nameElement = dataElement.addElement("name");
    //nameElement.setText(line);
    } else if (count % 3 == 2) {
    provinceGroup[provinceNumber] = line.substring(0, line.indexOf(" "));
    cityGroup[cityNumber] = line.substring(line.indexOf(" "), line.lastIndexOf(" "));
    addressGroup[addressNumber] = line.substring(line.lastIndexOf(" "));
    provinceNumber++;
    cityNumber++;
    addressNumber++;
    //Element provinceElement = dataElement.addElement("province");
    //provinceElement.setText(line.substring(0, line.indexOf(" ")));
    //Element cityElement = dataElement.addElement("city");
    //cityElement.setText(line.substring(line.indexOf(" "), line.lastIndexOf(" ")));
    //Element addElement = dataElement.addElement("address");
    //addElement.setText(line.substring(line.lastIndexOf(" ")));
    } else if (count % 3 == 0) {
    telGroup[telNumber] = line.substring(3, line.indexOf(" "));
    postGroup[postNumber] = line.substring(line.indexOf(" ")+4);
    telNumber++;
    postNumber++;
    //Element telElement = dataElement.addElement("tel");
    //telElement.setText(line.substring(3, line.indexOf(" ")));
    //Element postElement = dataElement.addElement("post");
    //postElement.setText(line.substring(line.indexOf(" ")+4));
    } }else if(count == 6){
    int yy = 2;
    if(line.indexOf("约")==1){
    yy=3;
    }
    String noDot=line.replaceAll(",","");
    int page=Integer.parseInt(noDot.substring(yy,line.indexOf("个")));
    String s = String.valueOf((page/20)+1); 
    itemcountsElement.setText(line.substring(yy,line.indexOf("个")));
    pagecountsElement.setText(s);
    timecountsElement.setText(line.substring(line.indexOf("用时")+2));
    if(page==0){
    Element dataElement = resultsElement.addElement("DATA");
    Element noDataElement=dataElement.addElement("NODATA");
    noDataElement.setText("未找到相匹配结果");
    break;
    }
    }
    if(urlString.indexOf("pn")!=-1){
    String page;
    String pno;
    int pn;
    page=urlString.substring(urlString.indexOf("pn"));
    pn=Integer.parseInt(page);
    pno=String.valueOf((pn/20)+1);
    pagenoElement.setText(pno);
    }else{pagenoElement.setText("1");}
    }
    for(int t=0;t<nameNumber;t++){
    Element dataElement = resultsElement.addElement("DATA");
    Element nameElement = dataElement.addElement("NAME");
    nameElement.setText(nameGroup[t].replaceAll(" ",""));
    Element provinceElement = dataElement.addElement("PROVINCE");
    provinceElement.setText(provinceGroup[t]);
    Element cityElement = dataElement.addElement("CITY");
    cityElement.setText(cityGroup[t]);
    Element addressElement = dataElement.addElement("ADDRESS");
    addressElement.setText(addressGroup[t]);
    Element telElement = dataElement.addElement("TEL");
    telElement.setText(telGroup[t]);
    Element postElement = dataElement.addElement("POST");
    postElement.setText(postGroup[t]); }
    try {
    XMLWriter output = new XMLWriter(new FileOutputStream(
    new File("e:/catalog.xml")));
    //OutputFormat format = OutputFormat.createPrettyPrint();
    //output = new XMLWriter(System.out, format);
    output.write(document);
    output.close();
    } catch (IOException e) {
    System.out.println(e.getMessage());
    }
    reader.close();
    fileReader.close();
    System.out.println(" ");
    System.out.println("总行数为:" + Integer.toString(count));
    } else {
    System.out.println("the file cannot be found...");
    }
    String str = in.readLine();
    if (str == null)
    break;
    System.out.println(str);
    out.println("has receive....");
    out.flush(); }
    client.close();
    } catch (IOException ex) {
    } finally { }
    } public static void main(String[] args) throws IOException {
    Properties systemProperties = System.getProperties();
    systemProperties.setProperty("http.proxyHost", "192.168.168.88");
    systemProperties.setProperty("http.proxyPort", "808");
    ServerSocket server = new ServerSocket(5678);
    while (true) {
    CServer mu = new CServer(server.accept());
    mu.start();
    }
    }
    }