编程之道

无论是批评的,赞扬的,指着的都请EMAIL给我,你的建议将是我前进的动力! 联系我

XML在JAVA中的应用学习笔记---DOM篇

基本概念:
1。解析:就是读取文档并将文档分解为能够进行分析的元素的过程。XML解析器是WEB应用程序最基本勾践块。
2。DOM表示文档对象模型。它定义了一组JAVA接口,用于创建,访问和操作XML文档的内部结构。
3。DOM的缺点就是由于整个文档必须在内存中解析和存储,所以对于大文档则会造成内存紧张。
4。在DOM中,文档被表示为树。它的节点就是XML文档中的元素或内容。

-------------------------------------------------------example--------------------------------------------------------

本例是将XML文档插入数据库的程序

/**
 *Moives.xml;
 *---------------------------------------
 *<?xml version ="1.0"?>
 <movies>
  <movie>
   <name>《sorry,i love you》</name>
    <producter>KBS</producter>
   <actor>林秀晶</actor>
  </movie>
 </movies>
 *-----------------------------------------
 *
 *mysql.sql
 *-----------------------------------------
 *create table movies
 *(name varchar(),
 *producter varchar(),
 *actor varchar()
 *);
 *-----------------------------------------
 
*/



import javax.xml.parsers.
*;
import org.w3c.dom.
*;
import java.sql.
*;
import java.io.
*;

public class test
 
public static void main(String[] args){
  String name
=null;
  String producter
=null;
  String actor
=null;
  
try{   
   File f
=new File("c:/Movies.xml");
                                                
//定义了工厂API,允许应用程序获得生成DOM对象树的解析器
   DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();
   DocumentBuilder db
=dbf.newDocumentBuilder();
   Document d
=db.parse(f);
   NodeList list
=d.getElementsByTagName("movie");//匹配元素movie
   for(int i=0;i<list.getLength();i++){
    Element n
=(Element)list.item(i);
    name
=n.getElementsByTagName("name").item(0).getFirstChild().getNodeValue();
    producter
=n.getElementsByTagName("producter").item(0).getFirstChild().getNodeValue();
    actor
=n.getElementsByTagName("actor").item(0).getFirstChild().getNodeValue(); 
    
   }

   String sql1
="insert into movies values('" + name + "','" + producter + "','" + actor + "')";
   String sql2
="select *from movies";
   Class.forName(
"com.mysql.jdbc.Driver");//注册驱动程序
   
   String url 
= "jdbc:mysql://localhost:3306/test";  
   Connection con
=DriverManager.getConnection(url,"root","hotman");//连接Mysql
   System.out.println ("success!!");
   Statement st
=con.createStatement();
   st.executeUpdate(sql1);
//更新记录
   
//查询记录
   ResultSet rs=st.executeQuery(sql2);
   
while(rs.next()){
    System.
out.println (rs.getString("name")); 
    System.
out.println (rs.getString("producter")) ;
    System.
out.println (rs.getString("actor"));  
   }

   con.close();
  }

  
catch(Exception e){
   System.
out.println (e);
  }

  
 }

}


 

 

posted on 2005-08-19 17:15 疯流成性 阅读(284) 评论(0)  编辑  收藏 所属分类: XML


只有注册用户登录后才能发表评论。


网站导航: