java DOM4J 无限连解析XML
来源:互联网 发布:lol冰狼辅助源码 编辑:程序博客网 时间:2024/05/02 05:00
/** * RecursiveWholeXMLUtil.java * com.hao947.XMLUtil * * Function: TODO * * ver date author * ────────────────────────────────── * 2014-2-5 雪藏的心 * * Copyright (c) 2014, inspurworld All Rights Reserved. */package com.hao947.XMLUtil;import java.io.File;import java.util.ArrayList;import java.util.HashMap;import java.util.Iterator;import java.util.List;import java.util.Map;import org.dom4j.Attribute;import org.dom4j.Document;import org.dom4j.DocumentException;import org.dom4j.Element;import org.dom4j.io.SAXReader;import org.junit.Test;/** * ClassName:RecursiveWholeXMLUtil * Function: TODO ADD FUNCTION * Reason: TODO ADD REASON * * @author 雪藏的心 * @version * @since Ver 1.1 * @Date 2014-2-5 下午3:34:06 * * @see * @deprecated */public class RecursiveWholeXMLUtil {public static List<Map<String, String>> RecursiveWholeXML(String filename) {List<Map<String, String>> list = new ArrayList<Map<String, String>>();SAXReader saxReader = new SAXReader();try {Document document = saxReader.read(new File(filename));Element root = document.getRootElement();// 递归recursiveNode(root, list);return list;}catch (DocumentException e) {// TODO Auto-generated catch blocke.printStackTrace();}return null;}/** * recursive Node:(递归遍历所有的节点获得对应的值) * * @param @param root * @param @param list 设定文件 * @return void DOM对象 * @throws * @since CodingExample Ver 1.1 */private static void recursiveNode(Element root , List<Map<String, String>> list) {// 遍历根节点的所有孩子节点for (Iterator iter = root.elementIterator(); iter.hasNext();) {HashMap<String, String> map = new HashMap<String, String>();Element element = (Element) iter.next();if (element == null)continue;// 获取属性和它的值for (Iterator attrs = element.attributeIterator(); attrs.hasNext();) {Attribute attr = (Attribute) attrs.next();if (attr == null)continue;String attrName = attr.getName();String attrValue = attr.getValue();map.put(attrName, attrValue);}// 如果有PCDATA,则直接提出if (element.isTextOnly()) {String innerName = element.getName();String innerValue = element.getText();map.put(innerName, innerValue);list.add(map);}else {list.add(map);// 递归调用recursiveNode(element, list);}}}@Testpublic void show() {String filename = "src\\users.xml";List<Map<String, String>> list = RecursiveWholeXMLUtil .RecursiveWholeXML(filename);for (Map<String, String> map : list) {for (String ss : map.keySet()) {System.out.println(ss + ":" + map.get(ss));}}}}
0 0
- java DOM4J 无限连解析XML
- JAVA DOM4J解析XML
- JAVA解析XML-DOM4J
- java dom4j解析xml
- Java Dom4j解析 xml
- JAVA dom4j 解析xml
- java dom4j解析xml
- JAVA DOM4J解析XML
- java dom4j解析xml
- java 使用 dom4j 解析 XML
- Java Dom4j解析XML详解
- java dom4j解析xml实例
- java中用dom4j解析xml
- java 使用dom4j解析xml
- java中用Dom4j解析xml
- JAVA 使用Dom4j 解析XML
- java使用dom4j解析xml
- JAVA DOM4j解析XML文档
- Oracle官方文档结构说明(教你如何快速从官方文档中获取需要的知识)
- java DOM4j 循环解析2层XML
- mysql工具navicat for mysql 安装和破解
- oracle经典查询练手
- 大数据可视化小结
- java DOM4J 无限连解析XML
- CentOS 5 web server由apche切换为nginx
- const用法大全
- 黑马程序员_基础加强_JavaBean与内省
- 执行xpath时提示,需要命名空间管理器或XsltContext。此查询具有前缀、变量或用户定义的函数
- 一线触摸有没有劫持了LCD显示屏?
- JSP脚本元素区别
- LeetCode主题整理(4)链表及相关问题
- LINUX计算器BC用法一二