xml解析

一、解析xml格式的字符串

/**
 * @Author lwb
 * @date 2018/5/30 11:19
 *
 * xml 解析之,json-java練習
 *
 *
 *   JSON解析
    名稱:JSON-java
    地址:https://github.com/stleary/JSON-java
 API地址:http://stleary.github.io/JSON-java/index.html
 *
 */
public class JsonJavaTest {
    /**
     * xml格式的字符串解析
     */
    @Test
    public void parseXmlString() {
        String xmlString =
                "<?xml version=\"1.0\"encoding=\"UTF-8\"?>"
                +"<root>"
                +"<data>"
                +"<msgBody>"
                +"<cirName>10GE0011_鄰水城南-袁市</cirName >"
                +"<accessCode>LSDL0083</accessCode >"
                +"<resOperatlon>1</resOperatlon >"
                +"<flowType>1</flowType>"
                +"<resultCode>1</resultCode>"
                +"<resultDesc>配置成功</resultDesc>"
                +"<message>波波</message>"
                +"<message>花花</message>"
                +"</msgBody>"
                +"</data>"
                + "</root>";
        //一層一層的獲取數據
        /**
         {
             "root":{
                 "data":{
                     "msgBody":{
                         "cirName":"10GE0011_鄰水城南-袁市",
                         "accessCode":"LSDL0083",
                         "resultCode":1,
                         "resOperatlon":1,
                         "resultDesc":"配置成功",
                         "flowType":1
                     }
                 }
             }
         }
         */
        //首先將xml格式的字符串轉換爲可以JSONObject對象,JSON 格式,傳入true ,則遇到數字和
        //boolean值則不會自動轉換位數字和boolean值,否則將自動轉換。
        JSONObject topData = XML.toJSONObject(xmlString,true);
        //獲取root數據
        JSONObject root = (JSONObject)topData.get("root");
        // 獲取data數據
        JSONObject data = (JSONObject)root.get("data");
        //獲取megBody
        JSONObject msgBody = (JSONObject)data.get("msgBody");
        //最後結果,cirName爲字符串
        String cirName = (String)msgBody.get("cirName");
        String resOperatlon = (String)msgBody.get("resOperatlon");
        System.out.println(resOperatlon);
        //最後結果,message爲數組
        JSONArray message = (JSONArray) msgBody.get("message");
        System.out.println(message);//["波波","花花"]
    }

    /**
     * 理解JSONObject類API
     */
    @Test
    public void JSONObjectAPITest() {
        String xmlString =
                "<?xml version=\"1.0\"encoding=\"UTF-8\"?>"
                        +"<root>"
                        +"<data>"
                        +"<msgBody>"
                        +"<cirName>10GE0011_鄰水城南-袁市</cirName >"
                        +"<accessCode>LSDL0083</accessCode >"
                        +"<resOperatlon>1</resOperatlon >"
                        +"<flowType>1</flowType>"
                        +"<resultCode>1</resultCode>"
                        +"<resultDesc>配置成功</resultDesc>"
                        +"<message>波波</message>"
                        +"<message>花花</message>"
                        +"</msgBody>"
                        +"</data>"
                        + "</root>";
        JSONObject jsonObject = XML.toJSONObject(xmlString);
        String[] names = JSONObject.getNames(jsonObject);
        for (String name:names) {
            System.out.println(name);
        }
    }
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章