java map to xml_Java Map转成xml标签字符串

packagecom.trilogy.session.data;importjava.lang.reflect.Field;importjava.util.Collection;importjava.util.Map;importjava.util.Set;/*** The Class MapToXMLString.

*

*@authorsword.cai (c) Totyustar 2008.*/

public classMapToXMLString {/*** Converter Map instance to xml string. Note: currently,

* we aren't consider more about some collection types, such as array,list,

*

*@paramdataMap the data map

*

*@returnthe string*/

public static String converter(MapdataMap)

{synchronized (MapToXMLString.class)

{

StringBuilder strBuilder= newStringBuilder();

strBuilder.append("");

Set objSet =dataMap.keySet();for(Object key : objSet)

{if (key == null)

{continue;

}

strBuilder.append("\n");

strBuilder.append("\n");

Object value=dataMap.get(key);

strBuilder.append(coverter(value));

strBuilder.append("").append(key.toString()).append(">\n");

}

strBuilder.append("");returnstrBuilder.toString();

}

}public staticString coverter(Object[] objects) {

StringBuilder strBuilder= newStringBuilder();for(Object obj:objects) {

strBuilder.append("\n");

strBuilder.append(coverter(obj));

strBuilder.append("\n");

}returnstrBuilder.toString();

}public static String coverter(Collection>objects)

{

StringBuilder strBuilder= newStringBuilder();for(Object obj:objects) {

strBuilder.append("\n");

strBuilder.append(coverter(obj));

strBuilder.append("\n");

}returnstrBuilder.toString();

}/*** Coverter.

*

*@paramobject the object

*@returnthe string*/

public staticString coverter(Object object)

{if (object instanceofObject[])

{returncoverter((Object[]) object);

}if (object instanceofCollection)

{return coverter((Collection>) object);

}

StringBuilder strBuilder= newStringBuilder();if(isObject(object))

{

Class extends Object> clz =object.getClass();

Field[] fields=clz.getDeclaredFields();for(Field field : fields)

{

field.setAccessible(true);if (field == null)

{continue;

}

String fieldName=field.getName();

Object value= null;try{

value=field.get(object);

}catch(IllegalArgumentException e)

{continue;

}catch(IllegalAccessException e)

{continue;

}

strBuilder.append("

.append(" className=\"").append(

value.getClass().getName()).append("\">\n");if(isObject(value))

{

strBuilder.append(coverter(value));

}else if (value == null)

{

strBuilder.append("null\n");

}else{

strBuilder.append(value.toString()+ "\n");

}

strBuilder.append("").append(fieldName).append(">\n");

}

}else if (object == null)

{

strBuilder.append("null\n");

}else{

strBuilder.append(object.toString()+ "\n");

}returnstrBuilder.toString();

}/*** Checks if is object.

*

*@paramobj the obj

*

*@returntrue, if is object*/

private static booleanisObject(Object obj)

{if (obj == null)

{return false;

}if (obj instanceofString)

{return false;

}if (obj instanceofInteger)

{return false;

}if (obj instanceofDouble)

{return false;

}if (obj instanceofFloat)

{return false;

}if (obj instanceofByte)

{return false;

}if (obj instanceofLong)

{return false;

}if (obj instanceofCharacter)

{return false;

}if (obj instanceofShort)

{return false;

}if (obj instanceofBoolean)

{return false;

}return true;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值