导包:
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();
}
}
}