甜咖啡

我的IT空间

JDOM生成和解析XML

4.JDOM生成和解析XML  

为减少DOM、SAX的编码量,出现了JDOM;优点:20-80原则,极大减少了代码量。使用场合:要实现的功能简单,如解析、创建等,但在底层,JDOM还是使用SAX(最常用)、DOM、Xanan文档。

import java.io.FileNotFoundException;  
import java.io.FileOutputStream;  
import java.io.IOException;  
import java.util.List;  

import org.jdom.Document;  
import org.jdom.Element;  
import org.jdom.JDOMException;  
import org.jdom.input.SAXBuilder;  
import org.jdom.output.XMLOutputter;  
/** 
*  
* @author hongliang.dinghl 
* JDOM 生成与解析XML文档 
*  
*/ 
public class JDomDemo implements XmlDocument {  

public void createXml(String fileName) {  
Document document;  
Element  root;  
root=new Element("employees");  
document=new Document(root);  
Element employee=new Element("employee");  
root.addContent(employee);  
Element name=new Element("name");  
name.setText("ddvip");  
employee.addContent(name);  
Element sex=new Element("sex");  
sex.setText("m");  
employee.addContent(sex);  
Element age=new Element("age");  
age.setText("23");  
employee.addContent(age);  
XMLOutputter XMLOut = new XMLOutputter();  
try {  
XMLOut.output(document, new FileOutputStream(fileName));  
} catch (FileNotFoundException e) {  
e.printStackTrace();  
} catch (IOException e) {  
e.printStackTrace();  
}  

}  

public void parserXml(String fileName) {  
SAXBuilder builder=new SAXBuilder(false);   
try {  
Document document=builder.build(fileName);  
Element employees=document.getRootElement();   
List employeeList=employees.getChildren("employee");  
for(int i=0;iElement employee=(Element)employeeList.get(i);  
List employeeInfo=employee.getChildren();  
for(int j=0;jSystem.out.println(((Element)employeeInfo.get(j)).getName()+":"+((Element)employeeInfo.get(j)).getValue());  

}  
}  
} catch (JDOMException e) {  

e.printStackTrace();  
} catch (IOException e) {  

e.printStackTrace();  
}   

}  
}

posted on 2011-07-19 16:33 甜咖啡 阅读(190) 评论(0)  编辑  收藏


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


网站导航:
博客园   IT新闻   Chat2DB   C++博客   博问  
 

导航

<2011年7月>
262728293012
3456789
10111213141516
17181920212223
24252627282930
31123456

统计

常用链接

留言簿(1)

我参与的团队

随笔档案

搜索

最新评论

阅读排行榜

评论排行榜