使用Dom4j解析XML文档
2014-12-04 09:04
363 查看
最近将项目中需要将一些配置信息写入XML文件中,程序运行时从XML文档中读取需要的信息,对于读取XML文档中的信息,决定使用DOM4J来解析XML。
在XML中一开始只是存储ip和port的信息。格式如下:
但是后来因为业务需求对XML中额外加入几个属性,在需要时将他读取出来,改动后的XML格式如下:
在XML中一开始只是存储ip和port的信息。格式如下:
<root> <server> <ip>172.16.111.86</ip> <port>9999</port> </server> </root>一开始时候读取出来的信息是ip:port类型的字符串最为返回值,如果需要单独的ip或者port时在根据“:”使用字符串分割。
但是后来因为业务需求对XML中额外加入几个属性,在需要时将他读取出来,改动后的XML格式如下:
<root> <server> <name>测试环境</name> <ip>172.16.111.86</ip> <port>9999</port> <bind>check,check1</bind> </server> </root>这时在采用以前读取方式是不行的,最终决定使用Map对象来存储标签和值的映射关系,最终返回一个Map对象,需要某一值时,从Map对象中使用get方法即可获得。具体方法如下:
/** * 读取指定的XML文件,并返回相应的值 * XML解析使用DOM4J * @author Administrator */ public class XMLRead{ /** * 将需要读取xml文档中的标签名和值存放到Map中并返回 * @param file 需要读取的xml文件 * @return 存储结果 */ @SuppressWarnings("unchecked") public static Map<String, String> readFile(File file,String node){ Map<String, String> result = new HashMap<String, String>(); try { //创建SAXReader对象 SAXReader reader = new SAXReader(); //使用SAXReader对象的read方法创建Document对象。 Document doc = reader.read(file); //获取根元素对象 Element root = doc.getRootElement(); //获取指定节点 Element relm = root.element(node); //所有节点的名称 List<Element> elms = relm.elements(); Iterator<Element> iterator = elms.iterator(); while(iterator.hasNext()){ Element elm = iterator.next(); result.put(elm.getName(), elm.getText()); } } catch (DocumentException e) { e.printStackTrace(); } return result; } }
相关文章推荐
- 使用Dom4J解析XML文档
- 使用Dom4j实现对XML文档的解析
- 【XML解析】(4)Java下使用DOM4J解析方式对XML文档进行解析
- 使用dom4j解析xml文档
- java使用dom4j生成与解析xml文档的方法示例
- 使用SAX和dom4j解析XML文档
- Java——使用DOM4j解析XML文档
- 使用dom4j解析、增删改xml文档,xPath技和SAX解析
- 使用DOM4J解析XML文档,以及使用XPath提取XML文档
- XML案例(使用DOM4J解析XML文档)
- java中XML文档解析2(dom4j)和xpath的使用
- javaweb学习总结十三(dom4j方式对XML文档进行解析以及Xpath的使用)
- Java中使用DOM方式解析和创建XML文档、及dom4j使用简介
- 使用dom4j解析XML文档
- 使用Dom4j实现对XML文档的解析
- XML解析之使用DOM4j操作XML文档
- xml解析4:使用dom4j框架进行对xml文档生成和读写解析
- 使用dom4j解析XML文档
- 使用Dom4j解析XML文档
- 使用dom4j解析xml文档以及用XPath实现相关的操作