1、使用dom4j 解析xml
准备工作:
1)导入dom4j提供的jar包 // 因为 dom4j 不是javase的一部分,所以需要先导包
a.创建文件夹lib
b.复制jar包到lib中
c.右键dom4j -> 构建路径 -> 添加到构建路径
d.成功后dom4j前图标变为小奶瓶
知识点:
得到document文档
SAXReader saxReader = new SAXReader();
Document document = SAXReader.read(url);
方法:
document.getRootElemnet(); 获取根节点
Node.getParent(); 获取父节点。
element.addElement() ;添加标签
element(qname); 获取标签下的第一个子标签
elements(qname);获取标签下的一层子标签
elements(); 获取调用者的所有子标签
作为dom tree ,从上到下 一行一行解析
2、使用dom4j查询xml
(1)查询所有name元素里面的值
步骤:
1)创建解析器 //SAXReader saxReader = new SAXReader();
2)得到document //Document document = saxReader.read("src/dom4j/p1.xml");
3)得到根节点 // Element root = document.getRootElement();
4)得到所有的p1标签
//List<Element> list = root.elements();
//遍历集合 for (Element element : list)
5)得到name //Element name1 = element.element("name");
6)得到name的值 //name1.getText();
private static void selectName() throws Exception {
// TODO Auto-generated method stub
// 1)创建解析器
SAXReader saxReader = new SAXReader();
// 2)得到document
Document document = saxReader.read("src/dom4j/p1.xml");
// 3)得到根节点
Element root = document.getRootElement();
// 4)得到所有的p1标签
List<Element> list = root.elements();
// element(qname); 获取标签下的第一个子标签
// elements(qname);获取标签下的一层子标签
// elements(); 获取调用者的所有子标签
for (Element element : list) {
// 5)得到name
Element name1 = element.element("name");
// 6)得到name的值
String s = name1.getText();
System.out.println(s);
}
}
}
(2)获取第一个name的值
在(1)的基础上
修改 4)为 得到第一个p1 //Element p1 = root.element("p1");
(3)得到第二个name的值
在(1)的基础上
在 4) 中添加语句 Element p1 = list.get(1); //根据集合下标获取第二个p1
3、使用dom4j实现添加操作
在第一