xml和json互转的工具类

导包:


XmlUtil.java:

package com.ebc.util.xml;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;

import net.sf.json.JSON;
import net.sf.json.JSONSerializer;
import net.sf.json.xml.XMLSerializer;

import org.dom4j.Document;
  
public class XmlUtil {  
	/**
	 * 将xml文件转换成json字符串
	 * @param file
	 * @return
	 * @throws FileNotFoundException
	 */
	public static String XmlFile2JsonString(File file) throws FileNotFoundException{
		InputStream is = new FileInputStream(file);
		XMLSerializer xmlSerializer = new XMLSerializer();
		JSON json = xmlSerializer.readFromStream(is);
		return json.toString();
	}
	
	/**
	 * 将指定位置的xml文件转换成json字符串
	 * @param xmlFilePath
	 * @return
	 */
	public static String XmlFilePath2JsonString(String xmlFilePath){
		InputStream is = XmlUtil.class.getClassLoader().getResourceAsStream(xmlFilePath);
		XMLSerializer xmlSerializer = new XMLSerializer();
		JSON json = xmlSerializer.readFromStream(is);
		return json.toString();
	}
	
	/**
	 * 将json字符串转换成xml字符串
	 * @param jsonString
	 * @return
	 */
	public static String JsonString2XmlString(String jsonString){
		XMLSerializer xmlSerializer = new XMLSerializer();
		return xmlSerializer.write(JSONSerializer.toJSON(jsonString));
	}
	/**
	 * 将xml字符串转换成json字符串
	 * @param xmlFilePath
	 * @return
	 */
	public static String XmlString2JsonString(String xmlString){
		XMLSerializer xmlSerializer = new XMLSerializer();
		JSON json = xmlSerializer.read(xmlString);
		return json.toString();
	}
	/**
	 * 将xml文件转换成json字符串
	 * @param xmlDocument
	 * @return
	 */
	public static String XmlDocument2JsonString(Document xmlDocument){
		return XmlString2JsonString(xmlDocument.asXML());
	}
} 

测试类:

package com.ebc.util.xml;

import java.io.File;
import java.io.FileInputStream;

import org.dom4j.Document;
import org.dom4j.io.SAXReader;

public class XmlTest {
	public static void test() throws Exception{
		String jsonString2 = XmlUtil.XmlFile2JsonString(new File("src"+File.separator+"spring-servlet.xml"));
		System.out.println(jsonString2);
		
		String jsonString = XmlUtil.XmlFilePath2JsonString("student.xml");
		System.out.println(jsonString);
		
		String xmlString = XmlUtil.JsonString2XmlString(jsonString);
		System.out.println(xmlString);
		
		String jsonStr = XmlUtil.XmlString2JsonString(xmlString);
		System.out.println(jsonStr);
		
		SAXReader reader = new SAXReader();
		Document doc =reader.read(new FileInputStream(new File("src"+File.separator+"spring-servlet.xml")));
		String jsonStr1 = XmlUtil.XmlDocument2JsonString(doc);
		System.out.println(jsonStr1);
	}

	public static void main(String[] args) {
		try {
			test();
		} catch (Exception e) {
			e.printStackTrace();
		}
		
	}

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值