<?xml version="1.0" encoding="UTF-8"?>
<config>
<dbtype>sqlserver</dbtype>
<dbinfo>
<mysql>
<user>root</user>
<password>
root
</password>
</mysql>
<sqlserver>
<user>sa</user>
<password>sa
</password>
</sqlserver>
</dbinfo>
</config>
//创建xml文件的读取对象SAXReader reader = new SAXReader();//根据xxx.xml文件创建Document对象Document document = reader.read("config\\config.xml");
2.节点遍历
//获取根节点<config>Element root = document.getRootElement();//获取根节点(<config>)的单个子元素dbtypeElement dbType = root.element("dbtype");//获取根节点(<config>)的所有子元素,返回的是List,需要用Element进行强转List<Element> rootChildren = root.elements();//<dbtype>元素dbtype = rootChildren.get(0);//<dbinfo>元素dbinfo = rootChildren.get(1);//获取<dbinfo>所有子元素List<Element> dbinfoChildren = dbinfo.elements();//获取<dbinfo>元素名字为<mysql>的子元素List<Element> dbinfoChildren = dbinfo.elements("mysql");//获取<mysql>元素中,名字为<user>的子元素,因为已经知道是最后一个元素,所以可以直接后去其文本内容dbinfoChildren.get(0).getText();//结果是root其他节点获取依次类推
这种节点遍历,对于嵌套层级少的还可以,否则对于多嵌套层级,将是一种噩梦,需要依次遍历每个节点,因为只有获得此节点元素,才可以使用Element()方法获取其子元素的对象,基本超过三层就可以放弃这种方法了.