dom4j-1.6.1-解析xml字符串

2 篇文章 0 订阅
/**
     * Xml解析为Map
     * 
     * @param xmlString
     * @return
     */
    public static Map<String, String> xml2Map(String xmlString) {
        Map<String, String> map = null;
        try {
            Document document = DocumentHelper.parseText(xmlString);
            Element rootElement = document.getRootElement();
            map = new HashMap<String, String>();
            Element element = null;
            for (Iterator<Element> i = rootElement.elementIterator(); i.hasNext();) {
                element = i.next();
                map.put(element.getName().trim(), element.getTextTrim());
                for (Iterator<Element> j = element.elementIterator(); j.hasNext();) {
                    element = j.next();
                    map.put(element.getName().trim(), element.getTextTrim());
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
            map = null;
        }
        return map;
    }


 //高阳捷迅xml解析
     public static Map<String, String> xml2MapJieXun(String xmlString) {
         Map<String, String> map = null;
         try {
             Document document = DocumentHelper.parseText(xmlString);
             Element rootElement = document.getRootElement();
             System.out.println(rootElement);
             map = new HashMap<String, String>();
             Element element = null;
             for (Iterator<Element> i = rootElement.elementIterator(); i.hasNext();) {
                 element = i.next();
                 System.out.println(element);            
                 for (Iterator<Element> j = element.elementIterator(); j.hasNext();) {
                     element = j.next();
                     System.out.println(element);
                     map.put(element.attributeValue("name").toString(), element.attributeValue( "value" ).toString());                         
                 }
             }
         } catch (Exception e) {
             e.printStackTrace();
             map = null;
         }
         return map;
     }
       

public static void main(String[] args) {
   String xmlStr= "<?xml version=\"1.0\" encoding=\"utf-8\"?>"  +
                "<response>" +
                "<request_status>109</request_status>" +
                "<request_fail_code>100089</request_fail_code>" +
                "<request_fail_reason>陆地上的开发还是开发商</request_fail_reason>" +
                "</response>";

  //高阳捷迅xml字符串解析形式
     String stringTeString="<?xml version=\"1.0\" encoding=\"GB2312\"?>"+
        "<fill version=\"1.0\"><items>"+
        "<item name=\"prodid\" value=\"8096\"/>"+
        "<item name=\"orderid\" value=\"PD12160428120635002\"/>"+
        "<item name=\"tranid\" value=\"\"/>"+
        "<item name=\"resultno\" value=\"1011\"/>"+
        "<item name=\"mark\" value=\"\"/>"+
        "<item name=\"verifystring\" value=\"5b18d3429ac438dd52c37f3c2a7413d9\"/>"
        +"</items></fill>";

        Map xmlMap = xml2Map(xmlStr);
        System.out.println(xmlMap);
    }  

注意:获得某个节点里的name和value值 如   <item name=\"prodid\" value=\"8096\"/>
你可以以这样的方式:element.attributeValue( "name" ).toString(),  element.attributeValue( "value" ).toString()  来获取 " prodid" 和 " 8096 "                   

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值