摘要:本文主要介绍了Java使用dom4j对xml的简单添加、删除和检查,并结合实例详细分析了Java使用dom4j对xml进行简单添加、删除和检查的基本操作技巧和相关注意事项。有需要的可以参考以下。
本文描述了Java如何使用dom4j实现简单的添加、删除和检查xml的操作。分享给你,供你参考,如下:
xml期末有一个作业:后台用xml文件作为存储,做一个迷你系统,实现添加、删除、查看的功能。请在这里记录它。
必须先引入dom4j的jar包,放在项目的WEB-INF-lib目录下。
首先创建一个新的阅读器来读取你要操作的xml文件(我这里写的绝对路径)。
//读取XML文件以获取文档对象
SAXReader reader=new SAXReader();
文档document=null
尝试{
document=reader.read(新文件(' E:\ \ eclipse \ \ XmlTest \ \ src \ \ XML \ \ user . XML '));
} catch (DocumentException e) {
e . printstacktrace();
}
如果没有添加上面的try catch,Eclipse将会报告一个错误,因为当涉及到文件操作时,如果最初没有为空,文档也会报告一个错误。
//获取根节点的属性对象
element root elem=document . getrootelement();
基本声明:
//下面的操作以root为例。所有节点都可以不同于根节点。下面的孩子指的是第一代孩子。
//返回标签名为“user”的根节点的子节点,如果有多个,则只返回第一个。
element contact elem=root elem . element(' user ');
//获取节点标记之间的内容
String text=contactElem。getText();
//返回所有子节点,即ListElement
list element eles=root elem . elements();
//返回这个节点的属性,返回的是一个对象
属性root attr=root elem . attribute(' id ');
//更改属性值
root attr . setvalue(' changed id value ');
//向元素添加属性和属性值
RootElem.addAttribute('name ','添加成功!');
//删除节点的一个属性
root elem . remove(root attr);
//节点和节点的属性都可以获得名称(标记名/属性名)
string idName=root attr . getname();
string tagName=root elem . getname();
//获取属性的属性值
string value=root attr . getvalue();
所有涉及修改和添加的操作,在修改dom对象后,写回文件:
output format format=output format . createprettyprint();
format . set encoding(“UTF-8”);
org . dom4j . io . xmlwriter writer=new org . dom4j . io . xmlwriter(新文件输出流(新文件(此处填入你的xml路径)),格式);
writer.write(文档);
writer . close();
以下都省略文件的读取和document / rootElem的获取(上面提到过)
查
我这里有一个用户表如下,用来存储后端账号密码。
//user,password是前台发来的账号密码。
boolean RightPassword=false
list element eles=root elem . elements();
for(ele:eles元素)
{
if(ele.element('account ')。getText()。等于(用户))
{
if(ele.element('password ')。getText()。等于(密码))
RightPassword=true
返回;
}
}
增
再举一个xml的例子,它存储文章。
再加一个例子,可以更复杂。
element new article=root elem . add element(' article ');
NewArticle.setText('文章内容');
//下面的输出文件与上面提到的相同
output format format=output format . createprettyprint();
format . set encoding(“UTF-8”);
org . dom4j . io . xmlwriter writer=new org . dom4j . io . xmlwriter(新文件输出流(新文件('您的xml路径')),格式);
writer.write(文档);
writer . close();
删
以下示例根据标签内容删除一个节点。
(应该是按照一个属性值删除,比如id,因为上面的例子追求简单,没有属性)
list element eles=root elem . elements();
for(ele:eles元素)
{
If(ele.getText()。等于('根据内容删除'))
{
rootelem . remove(ele);
}
}
//下面的输出文件与上面提到的相同
output format format=output format . createprettyprint();
format . set encoding(“UTF-8”);
org . dom4j . io . xmlwriter writer=new org . dom4j . io . xmlwriter(新文件输出流(新文件('您的xml路径')),格式);
writer.write(文档);
writer . close();
改
和上面的删除只有一点不同。找到节点后,可以设置任何想要修改的内容。
list element eles=root elem . elements();
for(ele:eles元素)
{
if(ele.getText().等于('按照内容修改'))
{
ele.setText('修改后的内容');
}
}
//以下的输出文件和上面提到的一样
输出格式format=输出格式。createprettyprint();
格式。集合编码(“UTF-8”);
org。dom4j。io。XML编写器编写器=新组织。dom4j。io。XML编写器(新文件输出流(新文件(’你的可扩展标记语言路径))、格式);
writer.write文档);
作家。close();
PS:这里再为大家提供几款关于xml操作的在线工具供大家参考使用:
在线XML/JSON互相转换工具:
http://tools.jb51.net/code/xmljson
在线格式化XML/在线压缩XML:
http://tools.jb51.net/code/xmlformat
XML在线压缩/格式化工具:
http://tools.jb51.net/code/xml_format_compress
XML代码在线格式化美化工具:
http://tools.jb51.net/code/xmlcodeformat
更多关于Java 语言(一种计算机语言,尤用于创建网站)语言(一种计算机语言,尤用于创建网站)算法相关内容感兴趣的读者可查看本站专题: 《Java数据结构与算法教程》 、 《Java操作DOM节点技巧总结》 、 《Java文件与目录操作技巧汇总》 和《Java缓存操作技巧汇总》
希望本文所述对大家Java 语言(一种计算机语言,尤用于创建网站)语言(一种计算机语言,尤用于创建网站)程序设计有所帮助。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。