public class XMLParser { private Document document; public XMLParser(String filePath){ //从当前source目录下读取文件 InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream(filePath); SAXReader saxReader = new SAXReader(); try { document= saxReader.read(inputStream); } catch (DocumentException e) { e.printStackTrace(); } } public Configuration parse(){ Element rootElement = document.getRootElement(); Configuration configuration = new Configuration(); reversionParser(rootElement,configuration); return configuration; } private void reversionParser(Element element,Configuration configuration){ //获取当前元素的信息 String queryName = element.getQualifiedName(); System.out.println("queryName:"+queryName); //获取标签上面所有属性的名称和值 List attributes = element.attributes(); Iterator attrs = attributes.iterator(); while (attrs.hasNext()){ Attribute attr = (Attribute) attrs.next(); System.out.println("attribute= "+attr.getName()+":"+attr.getValue()); } //列出它下面一级子元素 Iterator iterator = element.elementIterator(); while (iterator.hasNext()){ reversionParser((Element) iterator.next(),configuration);//递归解析下一层 } } }
采用dom4j解析所有的元素并打印和保存到内存中
最新推荐文章于 2024-01-11 11:22:27 发布