java jdom解析xml格式字符串

来源:互联网 发布:新浪云绑定域名 编辑:程序博客网 时间:2024/05/19 10:36

/** 
 * 解析xml字符串成List<Map> 
 *  
 * @param String
 * @return List 
 */ 
public static List parse(String xmlDoc) {  
    // 创建一个新的字符串  
    StringReader xmlString = new StringReader(xmlDoc);  
    // 创建新的输入源SAX 解析器将使用 InputSource 对象来确定如何读取 XML 输入  
    InputSource source = new InputSource(xmlString);  
    // 创建一个新的SAXBuilder  
    SAXBuilder saxb = new SAXBuilder();  
 
    List result = null;  
    try {  
        result = new ArrayList();  
        // 通过输入源构造一个Document  
        Document doc = saxb.build(source);  
        // 取的根元素  
        Element root = doc.getRootElement();  
 
        // 得到根元素所有子元素的集合  
        List node = root.getChildren();  
        Element et = null;  
        for (int i = 0; i < node.size(); i++) {  
            et = (Element) node.get(i);// 循环依次得到子元素  
            List subNode = et.getChildren(); // 得到内层子节点  
            Map map = new HashMap();  
            Element subEt = null;  
            for (int j = 0; j < subNode.size(); j++) {  
                subEt = (Element) subNode.get(j); // 循环依次得到子元素  
                map.put(subEt.getName(), subEt.getText()); // 装入到Map中  
            }  
 
            // Map获取到值时才装入  
            if (map.size() > 0)  
                result.add(map);  
        }  
    } catch (JDOMException e) {  
        e.printStackTrace();  
    } catch (IOException e) {  
        e.printStackTrace();  
    }  
    return result;  

转载:http://blog.csdn.net/notonlyforshe/article/details/7301798

0 0