用map生成特殊格式的xml

本文介绍如何从Excel文件中读取数据,并将其以特定格式映射为XML,特别关注处理枚举类型的数据。通过解析Excel的单元格内容,实现将属性、键、值以及类型信息转换为XML格式,适用于需要将结构化数据以XML形式存储或传输的场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在CIS项目中,需要生成特殊格式的xml, 涉及到一点小的算法

<?xml version="1.0" encoding="UTF-8" ?>
<attributeValueMapping>
<enumMapping name="adminstates_enum">
<enumeration key="0" value="Managed" />
<enumeration key="1" value="Unmanaged" />
<enumeration key="2" value="Unknown" />
<enumeration key="3" value="Testing" />
<enumeration key="4" value="Restricted" />
<enumeration key="5" value="Disabled" />
</enumMapping>
</attributeValueMapping>


public Map<String, List<String>> doParseForEnum2() {
init(FILE_NAME_SPECIFICATION,SHEET_SPECIFICATION);
int attributeColumn = 0;
int keyColumn = 1;
int valueColumn = 2;
int typeColumn = 3;

Map<String,List<String>> map = new HashMap<String,List<String>>();

for(int i = 3; i< SPECIFICATION_LENGTH ; i++){
String attribute = getValue(i, attributeColumn);
String key = getValue(i, keyColumn);
String value = getValue(i, valueColumn);
String type = getValue(i, typeColumn);

if("ENUM".equals(type)){
if(map.containsKey(attribute)){
map.get(attribute).add(key+","+value);
}else{
List<String> list = new ArrayList<String>();
list.add(key+","+value);
map.put(attribute,list);
}
}
}
free();
return map;
}


读EXCEL文件, 将数据以Map<String,List<String>>的格式输出到XML。
关键点是

if(map.containsKey(attribute)){
map.get(attribute).add(key+","+value);
}else{
List<String> list = new ArrayList<String>();
list.add(key+","+value);
map.put(attribute,list);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值