解析XML文件
bean.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans>
<bean id="001" className="cn.zj.User">
<property name="user" value="jacl"></property>
<property name="user" value="rose"></property>
</bean>
<bean id="002" className="cn.zj.Admin">
<property name="user" value="admin"></property>
<property name="user" value="write"></property>
</bean>
</beans>
public class RlxXml {
/*1.SaxReader对象
a)read(…) 加载执行xml文档
2.Document对象
a)getRootElement() 获得根元素
3.Element对象
a)elements(…) 获得指定名称的所有子元素。可以不指定名称
b)element(…) 获得指定名称第一个子元素。可以不指定名称
c)getName() 获得当前元素的元素名
d)attributeValue(…) 获得指定属性名的属性值
e)elementText(…) 获得指定名称子元素的文本值
f)getText() 获得当前元素的文本内容*/
public static void main(String[] args) throws DocumentException {
//创建SAXReader对象 加载XML文件 返回document对象
SAXReader sr = new SAXReader();
Document doc = sr.read(new File("bean.xml"));
//System.out.println(doc);
//获取根元素
Element root = doc.getRootElement();
//获取根元素的子元素
List<Element> beanList = root.elements();
//遍历集合依次获取每个bean元素
for (Element bean : beanList) {
//System.out.println(bean);
//获取bean元素的属性
String id = bean.attributeValue("id");
String className = bean.attributeValue("className");
//获取bean元素的所有子元素
List<Element> propertyList = bean.elements();
for (Element property : propertyList) {
//System.out.println(property);
//获取property元素的属性
String name = property.attributeValue("name");
String value = property.attributeValue("value");
System.out.println(name + ".." + value);
}
}
}
}