java中用Dom4J来操作xml文件
* Dom4J的常用方法:
* Document
* Element getRootElement() :获取根元素对象(根标签)
* Element
* List elements() :获取所有的子元素
* List elements(String name):根据指定的元素名称来获取相应的所有的子元素
* Element element(String name):根据指定的元素名称来获取子元素对象,如果元素名称重复,则获取第一个元素
* StringelementText(String name) :根据指定的子元素名称,来获取子元素中的文本
* StringgetText() :获取当前元素对象的文本
* void setText(String text):设置当前元素对象的文本
* StringattributeValue(String name):根据指定的属性名称获取其对应的值
* public Element addAttribute(String name,String value):根据指定的属性名称和值进行添加或者修改
1.2 Dom4J的案例 (获取).
1.2.1 功能分析
//1、得到某个具体的节点内容:打印"郑州"
//2、遍历所有元素节点:打印他们的元素名称。
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<Element> 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<Element> 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>