1.dom4j基本用法
1.导入dom4j提供的jar包
链接:https://pan.baidu.com/s/1yBCg-Jk_G-mT4MIgZwG0yA
提取码:dt8x
2.获取document
*SAXReader reader = new SAXReader();
*Document document = reader.read(url);
3.document的父接口为Node
*若在document里找不到的方法,可以在Node内找
4.document的常用方法
*getRootElement() 获取根节点,返回为 Element
5.Element是接口,父接口为Node
getParent() 获取父节点
addElement 添加标签
element(qname) 获取标签下面的第一个子标签,arg为标签名称
elements(qname) 获取标签下面是这个名称的所有子标签.
elements() 获取标签下面的所有一层子标签.
public class Dom4jUtils {
public static final String PATH = "12_XML/src/com/sunny/xml/people.xml";
// 返回document
public static org.dom4j.Document getDocument(String path) {
try {
// 创建解析器
SAXReader saxReader = new SAXReader();
// 得到document
Document document = saxReader.read(path);
return document;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
// 回写xml方法
public static void xmlWriters(String path, Document document) {
try {
OutputFormat format = OutputFormat.createPrettyPrint();
XMLWriter xmlWriter = new XMLWriter(new FileOutputStream(path), format);
xmlWriter.write(document);
xmlWriter.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
*可以提高开发速度,代码可维护性好
1.可以直接获取某个元素
1.获取元素常见形式
*第一种形式
/AAA/BBB/CCC:表示层级结构,表示AAA下面BBB下面的所有CCC
*第二种形式
//BBB:表示和这个名称相同,只要名称是 BBB 都可以获取到
*第三种形式
/AAA/BBB/*:选择目录下的所有元素
/*/*/*/BBB:选择有三个祖先元素的BBB元素
//*:选择所有的元素
*第四种形式
//AAA[1]/BBB:选择第一个AAA下的BBB元素
//AAA/BBB[1]:选择所有AAA的第一个BBB元素
//AAA/BBB[last()]:选择所有AAA的最后一个BBB元素
*第五种形式
//@id:选择所有的id属性
//BBB[@id]:选择具有id属性的BBB元素
*第六种形式
//BBB[@id=‘b1‘] :选择含有属性id并且其值为b1的BBB元素
原文:https://www.cnblogs.com/linjing111/p/12770707.html