java中json操作xml和生成xml

来源:互联网 发布:淘宝联盟 一淘同时使用 编辑:程序博客网 时间:2024/06/14 10:13
java代码:
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());

原创粉丝点击