Dom4J的方法概述
Dom4J的常用方法
Document
Element getRootElement() :获取根元素对象(根标签)
Element
List elements() :获取所有的子元素
List elements(String name):根据指定的元素名称来获取相应的所有的子元素
Element element(String name):根据指定的元素名称来获取子元素对象,如果元素名称重复,则获取第一个元素
String elementText(String name) :根据指定的子元素名称,来获取子元素中的文本
String getText() :获取当前元素对象的文本
void setText(String text):设置当前元素对象的文本
Dom4J的常用方法
Element
String attributeValue(String name):根据指定的属性名称获取其对应的值
public Element addAttribute(String name,String value):根据指定的属性名称和值进行添加或者修改BeanUtils的常用方法
功能分析
得到某个具体的节点内容:打印"郑州"
遍历所有元素节点:打印他们的元素名称。
Ps: 因为不知道有多少个元素节点, 所以需要递归
private static void method2() throws Exception {
//2、遍历所有元素节点:打印他们的元素名称。
//获取根元素
Document document = Dom4JUtils.getDocument();
Element rootElement = document.getRootElement();
treeWalk(rootElement);
}
public static void treeWalk(Element element) {
//输出元素的名称
System.out.println(element.getName());
//获取指定元素的所有子元素
List es = element.elements();
for (Element e : es) {
treeWalk(e);
}
}
private static void method() throws Exception {
//1、得到某个具体的节点内容:打印"郑州"
Document document = Dom4JUtils.getDocument();
//获取根元素
Element rootElement = document.getRootElement();
//获取根元素下的所有子元素
List elements = rootElement.elements();
//根据索引获取第一个City元素
Element cityElement = elements.get(0);
//根据子元素的名称来获取子元素的文本
String text = cityElement.elementText(“Name”);
System.out.println(text);
}
<?xml version="1.0" encoding="UTF-8"?>
<State Code=“37” Name=“河南”
description=“郑州” GDP=“99999亿”>
< City>
< Name>郑州< /Name>
< Region>高薪区< /Region>
< /City>
< City>三门峡< /City>
< City>洛阳< /City>
< City>安阳< /City>
< City>南阳< /City>
< /State>
功能分析
修改某个元素节点的主体内容:信阳–>安阳
删除指定元素节点:删除元素开封
注意: 调用方法完毕, 仅仅是在内存中进行了修改, 需要用到OutputFormat和XMLWirter两个类配合使用将数据写入到文件
功能分析
向指定元素节点中增加子元素节:添加一个新城市南阳
向指定元素节点上增加同级元素节点:在洛阳前面,添加一个三门峡
功能分析
操作XML文件属性:打印State的Name
添加属性:State: GDP=“99999亿”