package com.syz; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileReader; import java.io.FileWriter; import org.json.JSONObject; import org.json.XML; public class Test { public static void main(String[] args) { BufferedReader buffRed=null; BufferedWriter buffWri=null; try{ //将XML转换成JSON String fileName1="json.xml"; buffRed=new BufferedReader(new FileReader(fileName1)); String tempStr; StringBuffer xmlStrBuff=new StringBuffer(); while((tempStr=buffRed.readLine())!=null) xmlStrBuff.append(tempStr); JSONObject syz=XML.toJSONObject(xmlStrBuff.toString()); System.out.println("syz="+syz.getInt("syz")); System.out.println("JSON str="+syz); //将JSON转换成XML //String jsonStr="{Heros:{FBI:[{name:\"rose\",age:\"24\"},{name:\"jack\",age:\"25\"}],NBA:[{name:\"tom\",sex:\"man\"},{name:\"jack\",sex:\"women\"}]}};"; String jsonStr="{syz:2};"; String fileName2="json.xml"; buffWri=new BufferedWriter(new FileWriter(fileName2)); JSONObject jsonObj=new JSONObject(jsonStr); buffWri.write("<?xml version=\"1.0\" encoding=\"GBK\"?>"); buffWri.newLine(); buffWri.write("<!DOCTYPE properties SYSTEM \"http://java.sun.com/dtd/properties.dtd\">"); buffWri.newLine(); buffWri.write(XML.toString(jsonObj)); buffWri.flush(); System.out.println("run end!"); }catch(Exception e){ e.printStackTrace(); }finally{ try{ if(buffRed!=null) buffRed.close(); if(buffWri!=null) buffWri.close(); }catch(Exception e){ e.printStackTrace(); } } } }json.xml:
<?xml version="1.0" encoding="GBK"?> <!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"> <syz>2</syz>
执行后控制台打印:
syz=2
JSON str={"syz":"2"}
run end!
json.jar包下载地址:http://download.csdn.net/detail/shiyuezhong/4574245
如果是在src\main\resources下的xml则通过以下方法取得:
String fileName1 = Thread.currentThread().getContextClassLoader().getResource("jsonxml.xml").getPath();
fileName1=fileName1.substring(1, fileName1.length());