XML格式已经确定,如
<dblp>
record1          //record大致如下:<article><title>a</title><author>asdasda</author> </article>
record2
......
recordn
</dblp>想提取每一个record分别生成一个新的XML文件 要怎么做比较好 思绪比较乱!~~~谢谢各位啦~~~

解决方案 »

  1.   

    package com.project;import java.awt.List;
    import java.io.File;
    import java.io.FileWriter;
    import java.io.IOException;
    import java.util.Iterator;import org.dom4j.io.OutputFormat;
    import org.dom4j.io.SAXReader;
    import org.dom4j.io.XMLWriter;
    import org.dom4j.Document;   
    import org.dom4j.DocumentException;   
    import org.dom4j.Element; 
    public class Cut {
    public static void main(String[] args){

    File file = new File("E://project//dblp//dblpxmlgz//dblp000"+1+".xml");    SAXReader reader = new SAXReader();
        {
        try {
            Document document = reader.read(file);
            Element root = document.getRootElement();
           java.util.List it = root.elements("incollection");
           for(int i=0;i<it.size();i++)
           {
            long n=11111111;
            File fa = new File("E://project//dblp//dblpxmlgz//numberxml//"+n+".xml");
            if (!fa.exists()) {
                fa.createNewFile();
            }
            
            OutputFormat format = OutputFormat.createPrettyPrint();
            format.setEncoding("utf-8");
            XMLWriter writer = new XMLWriter(new FileWriter(fa), format);
            writer.write((Element) it.get(i));
           
            writer.flush();        writer.close();
            n++;
           }
            System.out.println("操作完成");
        } catch (DocumentException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        
    }
    }
    }
    }
    //这是我的代码 可是不知道循环哪里出错了,只能生成一个文件 且事大XML文件里面元素的最后一个元素,而非第一个元素 求指点!!!