java jdom解析xml格式字符串

本文提供了一个Java方法,用于解析XML字符串并将其转换为List<Map>,具体步骤包括创建字符串读取器、输入源、SAX解析器、构造文档、获取根元素及其子元素,然后遍历子元素并构建Map集合。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Java代码 

/**  
 * 解析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;   
}  


 解析XML的格式

 

Xml代码 

<CUSTS>  
    <CUST>  
        <ID>001</ID><NAME>Tom</NAME><TEL>12345678</TEL>  
     </CUST>  
  
    <CUST>  
        <ID>002</ID><NAME>lLucy</NAME><TEL>12344321</TEL>  
     </CUST>  
  
     <CUST>  
        <ID>003</ID><NAME>Jony</NAME><TEL>12341234</TEL>  
     </CUST>  
 </CUSTS>


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

莫欺少年穷

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值