解析<xml><items> <item name="balance" value="18803.2"/> <item name="code" value="0"/><item name="errorinfo" value=""/> </items></xml>

public static Map<String, String> qiTianXmlparser(String xml) {
        xml = StringUtil.replaceWhiteAndBreak(xml);
        Map<String, String> map = new HashMap<String, String>();
        Reader reader = null;
        try {
            reader = new StringReader(xml);
            XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
            factory.setNamespaceAware(true);
            XmlPullParser xpp = factory.newPullParser();
            xpp.setInput(reader);
            int eventType = xpp.getEventType();
            String tag = null;
            while (eventType != XmlPullParser.END_DOCUMENT) {
                switch (eventType) {
                case XmlPullParser.START_DOCUMENT:
                    break;
                case XmlPullParser.START_TAG:
                    tag = xpp.getName();
                    if (StringUtils.equals(tag, "item")) {
                        map.put(StringUtils.trimToEmpty(xpp.getAttributeValue(null, "name")),
                                StringUtils.trimToEmpty(xpp.getAttributeValue(null, "value")));
                    }
                    break;
                }
                eventType = xpp.next();
            }
        } catch (Exception e) {
            throw new XmlConverException(String.format("xml conver error:[%s]", xml), e);
        } finally {
            IOUtils.closeQuietly(reader);
        }
        return map;
    }

posted @ 2017-08-21 10:09  jack_zc  阅读(1602)  评论(0)    收藏  举报