服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

jdom操作xml简单示例


  java语言的开放性,吸引了很多公司和个人作者对java的性能作不断地完善。jdom 是两位著名的 java 开发人员兼作者,brett mclaughlin 和 jason hunter 的创作成果,它致力于建立一个完整的基于 java 平台的解决方案,通过 java 代码来访问、操作并输出 xml 数据。
jdom可以从http://jdom.com网站上下载,目前最新的版本是beta9.0。

一、用jdom建立xml文档
我们想建立一个形如下文的xml文档:1.xml
<?xml version=”1.0” encoding=”gb2312”?>
<个人资料>
<姓名 id号=”2222”>张二</姓名>
<年龄>20</年龄>
</个人资料>

我们先建立一个根元素和文档的实例,将根元素加入到文档中:
element root=new element(“个人资料”);
document doc=new document(root);

加入子元素:
element name=new element(“姓名”);
name.setattribute(new attribute(“id号”,”2222”));
name.addcontent(“张二”);
root.addcontent(name);
element age=new element(“年龄”);
age.addcontent(“20”);
root.addcontent(age);

因为addcontent()方法返回值为element类型,上面的代码也可以写成:
root.addcontent(new element("姓名").addcontent("张二").setattribute("id号","2222"));
root.addcontent(new element("年龄").addcontent("20"));

使用fileoutputstream,生成xml文本
try
{
string ident=” ”; //子元素缩进两个空格
boolean isnew=true; //元素间有空行
string cset=”gb2312”; //编码,显示中文
xmloutputter outer=new xmloutputter(“ “,true,cset);
outer.output(doc.new fileoutputstream(“1.xml”));
}catch(ioexception e)
{
e.printstacktrace();
}
通过上面的代码,我们就生成了,如上所示的xml页面。

从1.xml中取得相应的值:
使用 saxbuilder 对 1.xml进行语法分析
try
{
saxbuilder sb=new saxbuilder();
document mydoc=sb.build(new fileinputstream(“1.xml”));
}catch(jdomexception e)
{
e.printstacktrace();
}catch(nullpointerexception e)
{
e.printstacktrace();
}

访问子元素
element another=mydoc.getrootelement(); //先得到根元素
element namee=root.getchild(“姓名”);
system.out.println(namee.gettext());

删除子元素
boolean re=another.removechild(“姓名”);
//删除后,记得将文档重新写入一遍

扫描关注微信公众号