//连接数据库并生成XML文件
import java.io.*;
import java.sql.*;
import java.io.FileOutputStream;
import org.dom4j.*;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.Document;
public class XmlTest {
/**
* @param args
*/
public static void main(String[] args) {
//int i=0;
try {
try {
Class.forName("com.mysql.jdbc.Driver");
} catch(ClassNotFoundException e) {
System.out.println("加载驱动器类时出现异常");
}
try {
File file=new File("C:/Users/chen/Desktop/studentinfo.xml");
FileOutputStream fos = new FileOutputStream(file);
OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding("GB2312");
XMLWriter writer = new XMLWriter(fos,format);
Document doc = DocumentHelper.createDocument();
//Element rootElement=doc.addElement("学生信息");
Element rootElement = DocumentHelper.createElement("学生信息");
//rootElement.addAttribute("version", "2.0");
doc.setRootElement(rootElement);
java.sql.Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/student","root","****");
java.sql.Statement sql=conn.createStatement();
java.sql.ResultSet rs=sql.executeQuery("select * from student");
while(rs.next())
{
Element stu=rootElement.addElement("学生");
Element id=stu.addElement("ID");
Element name=stu.addElement("姓名");
Element sex=stu.addElement("性别");
Element begin=stu.addElement("入学年份");
Element end=stu.addElement("毕业年份");
id.addText(rs.getString(1));
name.addText(rs.getString(2));
sex.addText(rs.getString(3));
begin.addText(rs.getString(4));
end.addText(rs.getString(5));
}
writer.write(doc);
} catch (IOException e) {
e.printStackTrace();
}
} catch(SQLException e) {
System.out.println("数据库连接时出现异常");
}
}
}
//分析XML文件
import java.io.File;
import java.util.Iterator;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class ParseXmlExample {
public void parseXmlDoc(String xmlFile){
SAXReader saxReader=new SAXReader();
Document doc=null;
try{
doc=saxReader.read(new File(xmlFile));
}catch(DocumentException e){
e.printStackTrace();
}
Element rootElement=doc.getRootElement();
for(Iterator iterator=rootElement.elementIterator();iterator.hasNext();){
Element stu=(Element)iterator.next();
String student=stu.getName();
String id=stu.element("ID").getText();
String name=stu.element("姓名").getText();
String sex=stu.element("性别").getText();
String begin=stu.element("入学年份").getText();
String end=stu.element("毕业年份").getText();
StringBuilder sb=new StringBuilder();
sb.append(student+"\n");
sb.append("\t"+"ID:"+id+"\n");
sb.append("\t"+"姓名:"+name+"\n");
sb.append("\t"+"性别:"+sex+"\n");
sb.append("\t"+"入学年份:"+begin+"\n");
sb.append("\t"+"毕业年份:"+end+"\n");
System.out.println(sb.toString());
}
}
public static void main(String[] argv){
new ParseXmlExample().parseXmlDoc("C:/Users/chen/Desktop/studentinfo.xml");
}
}