day05_dom4j_查询,添加
来源:互联网 发布:win10单片机驱动程序 编辑:程序博客网 时间:2024/05/17 22:10
一、dom4j简介
dom4j是一个组织,针对xml解析,提供解析器,dom4j
不是Javase的一部分
使用步骤:
- 导入dom4j提供jar包
- 创建文件夹lib
- 复制jar包到lib下
- 右击jar包,buildpath—>add to buildpath
- 看到jar包,变成奶瓶的样子,即导入成功
二、得到document
SAXReader reader = new SAXReader();Document document=reader.read(url);
- document父节点是node,方法在document里面找不到,可以去node里面找
- document里面的方法,getRootElement()获取根节点,返回的是element
- element是一个接口,父接口是node
element和node里面的方法
getParent();获取父节点
addElement();添加标签
三、使用dom4j查询xml
查询所有name里面的值
1.创建解析器
2.得到document
3.得到根节点 getRootElement();4.得到所有的p1
element(qname);
elements(qname);
element();5.得到name
6.得到name的值
查询第一个name元素的值
/* * 1、创建解析器 * 2、得到document * 3、得到根节点 * * 4、得到第一个p1元素 **element("p1")方法 返回Element * 5、得到p1下面的name元素 **element("name")方法 返回Element * 6、得到name元素里面的值 **getText方法 * */
获取第二个name元素的值
/* * 1、创建解析器 * 2、得到document * 3、得到根节点 * * 4、得到所有的p1 **返回 list集合 * 5、遍历得到第二个p1 **使用list下标得到 get方法,集合的下标从 0 开始,想要得到第二个值,下标写 1 * 6、得到第二个p1下面的name **element("name")方法 返回Element * 7、得到name的值 **getText方法 * */
*在第一个p1标签末尾添加一个元素 sex>
/* * 1、创建解析器 * 2、得到document * 3、得到根节点 * * 4、获取到第一个p1 *使用element方法 * 5、在p1下面添加元素 *在p1上面直接使用 addElement("标签名称")方法 返回一个Element * 6、在添加完成之后的元素下面添加文本 * 在sex上直接使用 setText("文本内容")方法 * 7、回写xml *格式化OutputFormat,使用createPrettyPrint方法,表示一个漂亮的格式 *使用类XMLWriter 直接new 这个类,传递两个参数 ***第一个参数是xml文件路径 new FileOutputStream("路径") ***第二个参数是格式化类的值 * */
使用dom4j实现在特定位置添加元素
*在第一个p1下面的age标签之前添加 <school>ecit.edu.cn</schlool> *步骤 /* * 1、创建解析器 * 2、得到document * 3、得到根节点 * 4、获取到第一个p1 * * 5、获取p1下面的所有的元素 * **elements()方法 返回 list集合 * ** 使用list里面的方法,在特定位置添加元素 * **首先创建元素 在元素下面创建文本 -使用DocumentHelper类方法createElement创建标签 -把文本添加到标签下面 使用 setText("文本内容")方法 * *** list集合里面的 add(int index, E element) * - 第一个参数是位置 下标,从0开始 * - 第二个参数是要添加的元素 * 6、回写xml * */ **可以对得到document的操作和 回写xml的操作,封装成方法 **也可以把传递的文件路径,封装成一个常量(一般大写) ***好处:可以提高开发速度,可以提交代码可维护性 -比如想要修改文件路径(名称),这个时候只需要修改常量的值就可以了,其他代码不需要做任何改变。
获取第一个p1里面属性值id1
//获取第一个p1里面属性值id1(attributeValue();)
public static void getValues() throws Exception{
Document document = Dom4jUtils.getDocument(Dom4jUtils.PATH);
Element root = document.getRootElement();
Element p1 = root.element(“p1”);
String value1 = p1.attributeValue("id1"); System.out.println(value1); }
使用dom4j支持xpath的操作
*可以直接获取到某个元素 *第一种形式 /AAA/DDD/BBB: 表示一层一层的,AAA下面 DDD下面的BBB *第二种形式 //BBB: 表示和这个名称相同,表示只要名称是BBB,都得到 *第三种形式 /*:所有元素 *第四种形式 ** BBB[1]: 表示第一个BBB元素 ×× BBB[last()]:表示最后一个BBB元素 *第五种形式 **//BBB[@id]: 表示只要BBB元素上面有id属性,都得到 *第六种形式 **//BBB[@id='b1'] 表示元素名称是BBB,在BBB上面有id属性,并且id的属性值是b1
阅读全文
0 0
- day05_dom4j_查询,添加
- 添加查询
- JSP代码(添加,查询)
- JSP代码(添加,查询)
- 登陆、添加、查询、删除
- 实现添加和查询
- Sqlite 添加、查询
- aspnetpager 添加查询条件
- hibernate 中的查询,添加
- 查询结果添加序号
- DataGridView添加查询
- SQL查询添加序号
- ajxp 查询添加元素
- angular 添加 查询
- AngularJs查询,添加,修改
- 表单查询 排序 添加
- 添加,查询,排序
- angularjs添加排序查询
- 给你一个 n 个点,m 条边的无向图,求至少要在这个的基础上加多少条无向边使得任意两个点可达~
- 隐晦规则
- ios-手动实现KVO简单版
- 【微服务架构】SpringCloud之Eureka(注册中心集群篇)(三)
- 变量的定义
- day05_dom4j_查询,添加
- HashMap循环遍历方式及其性能对比
- ssh
- 正则表达式基础(一)
- Mybatis学习总结(一) 介绍
- RN
- 【微服务架构】SpringCloud之Ribbon(四)
- [PyCharm] pep8 检查 选择性执行
- Deepin/Ubuntu下tree工具的使用