xml字符串解析

来源:互联网 发布:form表单转换成json 编辑:程序博客网 时间:2024/05/29 18:07
package com.youanmi.bis.helper;

import java.util.Iterator;

import org.apache.commons.lang.StringUtils;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.alibaba.fastjson.JSONObject;

public class OfficialAccountsXmlParseUtils {
    
     /**
     * 调测日志记录器。
     */
    private static final Logger logger = LoggerFactory.getLogger(OfficialAccountsXmlParseUtils.class);
    
    @SuppressWarnings({"static-access" })
    public static Object parseStringXmlToObejct(String xmlContent,Class<?> targetObject) {
        try {
            Document doc = (Document) DocumentHelper.parseText(xmlContent.trim());
            Element books = doc.getRootElement();
            // Iterator users_subElements = books.elementIterator("UID");//指定获取那个元素
            Iterator<?> Elements = books.elementIterator();
            JSONObject jsonObject = new JSONObject();
            while (Elements.hasNext()) {
                Element user = (Element) Elements.next();
                jsonObject.put(toLowerCaseFirstOne(user.getName()), user.getText());
            }
            logger.info("result--->"+jsonObject.toString());
            return jsonObject.toJavaObject(jsonObject, targetObject);
        } catch (Exception e) {
            e.printStackTrace();
        }

        return null;
    }
    
    private static String toLowerCaseFirstOne(String str){
        
        if(StringUtils.isBlank(str)){
            return null;
        }
        return (str.charAt(0)+"").toLowerCase() + str.subSequence(1, str.length()).toString();
        
    }
    
}


0 0