XML格式已经确定,如
<dblp>
record1 //record大致如下:<article><title>a</title><author>asdasda</author> </article>
record2
......
recordn
</dblp>想提取每一个record分别生成一个新的XML文件 要怎么做比较好 思绪比较乱!~~~谢谢各位啦~~~
<dblp>
record1 //record大致如下:<article><title>a</title><author>asdasda</author> </article>
record2
......
recordn
</dblp>想提取每一个record分别生成一个新的XML文件 要怎么做比较好 思绪比较乱!~~~谢谢各位啦~~~
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文件里面元素的最后一个元素,而非第一个元素 求指点!!!