Dom4j是一款非常好用的解析XML的Java API,它可以輕松地將XML文件解析為Java對(duì)象,同時(shí)也可以將Java對(duì)象序列化為XML文件。
而如果需要將XML文件轉(zhuǎn)換為JSON格式,我們同樣可以使用Dom4j來完成這個(gè)過程。
/** * 將XML字符串轉(zhuǎn)換為JSON字符串 * @param xmlStr XML字符串 * @return JSON字符串 */ public static String xmlToJson(String xmlStr) throws DocumentException, JSONException { // 將XML字符串解析為Dom4j的Document對(duì)象 Document document = DocumentHelper.parseText(xmlStr); // 創(chuàng)建Json對(duì)象 JSONObject json = new JSONObject(); // 獲取根節(jié)點(diǎn) Element root = document.getRootElement(); // 遍歷根節(jié)點(diǎn)的子節(jié)點(diǎn) for (Iteratorit = root.elementIterator(); it.hasNext();) { Element element = it.next(); json.put(element.getName(), element.getText()); } // 返回轉(zhuǎn)換后的JSON字符串 return json.toString(); }
以上代碼中,我們首先通過Dom4j將XML字符串解析為Document對(duì)象,然后遍歷根節(jié)點(diǎn)的子節(jié)點(diǎn),將節(jié)點(diǎn)名和節(jié)點(diǎn)值分別作為鍵和值存儲(chǔ)到Json對(duì)象中,最后將Json對(duì)象轉(zhuǎn)換為字符串并返回即可。
需要注意的是,在使用Dom4j解析XML時(shí),我們需要導(dǎo)入Dom4j的相關(guān)包,例如dom4j-2.1.3.jar和jaxen-core-1.1.6.jar等。