代码如下:
import java.util.List;
import java.util.Map;
import net.sf.json.xml.XMLSerializer;
/**
* 将对象转换为XML字符串形式
* @author mywhile
*
* @param <T>
*/
public class WriteObject2Xml<T> {
private static XMLSerializer xmlSerializer = new XMLSerializer();
static {
xmlSerializer.setRootName("result");//根目录标签
xmlSerializer.setTypeHintsEnabled(false);//不输入类型属性
xmlSerializer.setTypeHintsCompatibility(false);
}
/**
* 未知对象转Xml
* e.g {<result><a>1</a>.....</result>}
* 创建时间 2013-2-18
* 创建人 mywhile
*
* @param obj
* @return
*/
public static String writeObject2XmlWithValue(Object obj){
String xml = xmlSerializer.write(WriteObject2Json.writeObject2JSON(obj));
return xml;
}
/**
* Map转XML
* e.g {<result><a>1</a></result>}
* 创建时间 2013-2-18
* 创建人 mywhile
*
* @param map
* @return
*/
public static String writeMap2XmlWithValue(Map<String, Object> map){
String xml = xmlSerializer.write(WriteObject2Json.writeObject2JSON(map));
return xml;
}
/**
* List 转 XML
* e.g {
* <result>
* <resultrows><a>1</a><name>abcde</name></resultrows>
* <resultrows><a>2</a><name>efguh</name></resultrows>
* </result>}
* 创建时间 2013-2-18
* 创建人 mywhile
*
* @param list
* @return
*/
public static String writeList2XmlWithValue(List<Map<String, Object>> list){
xmlSerializer.setElementName("resultrows");
String xml = xmlSerializer.write(WriteObject2Json.writeObject2JSON(list));
return xml;
}
/**
* Bean转XML
* e.g {<result><a>1</a><name>abcde</name></result>}
* 创建时间 2013-2-18
* 创建人 mywhile
*
* @param t
* @return
*/
public String writeBean2XmlWithValue(T t){
String xml = xmlSerializer.write(WriteObject2Json.writeObject2JSON(t));
return xml;
}
}