dom4j读取spring的配置xml文件

1、创建SAXReader对象  代码:SAXReader saxReader = new SAXReader();//创建  SAXReader对象,
2、得到类路径的配置文件的路径(一般配置文件放在类路径下)(filename是配置文件名)  代码:this.getClass().getClassLoader().getResource(filename);
3、调用SAXReader对象的read方法得到一个document对象  代码:saxReader.read(xmlPath);
4、加入命名空间(map是Map集合)  代码:map.put("rootUrl", "http://www.springframework.org/schema/beans");
5、得到需要获取的节点的路径  代码:XPath xPath =document.createXPath("//rootUrl:beans/rootUrl:bean");
6、设置命名空间  代码:xPath.setNamespaceURIs(map);
7、得到所有获取的节点  代码:xPath.selectNodes(document);
8、根据节点获取对应节点的属性值 代码:element.attributeValue("id");


public void readSpringXml(String filename){
SAXReader saxReader = new SAXReader();
URL xmlPath = this.getClass().getClassLoader().getResource(filename);
try {
Document document = saxReader.read(xmlPath);
Map<String, String> map = new HashMap<String, String>();
map.put("rootUrl", "http://www.springframework.org/schema/beans");
XPath xPath = document.createXPath("//rootUrl:beans/rootUrl:bean");
xPath.setNamespaceURIs(map);
List<Element> elements = xPath.selectNodes(document);
for(Element element : elements){
String name = element.attributeValue("id");
String className = element.attributeValue("class");
System.out.println(name+"=="+className);
}
} catch (DocumentException e) {
e.printStackTrace();
}
}

你可能感兴趣的:(spring,xml)