`
Tristan_S
  • 浏览: 374275 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

用map生成特殊格式的xml

    博客分类:
  • XML
 
阅读更多
在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);
				}
分享到:
评论

相关推荐

    java一键xml转map,一键map转xml工具类

    在Java编程中,XML(可扩展标记语言)和Map(映射)是两种常见的数据存储和交换格式。XML因其结构化和易于解析的特性,在数据交换和配置文件中广泛使用,而Map则作为Java中存储键值对的高效数据结构。在实际开发中,...

    freemarker+xml生成word

    标题中的"freemarker+xml生成word"涉及到的技术是使用FreeMarker模板引擎以及XML数据来动态生成Word文档。FreeMarker是一个开源的Java库,主要用于生成文本输出,尤其在Web应用中生成HTML页面。XML则是一种可扩展...

    mapstruct.zip

    它通过代码生成的方式,极大地提高了在Spring框架中进行对象复制的效率,相比传统的`Spring BeanUtils`或者`ModelMapper`等工具,MapStruct具有更高的性能和更简洁的API。本文将深入探讨MapStruct的工作原理、优点、...

    MapToXMLAndXMLToJson.zip

    对于嵌套的Map,转换过程会递归进行,确保每一层的数据都能正确地体现在生成的XML中。 XML的结构通常包含元素(element)、属性(attribute)、文本内容(text content)等部分,所以`XMLUtil`在创建XML时,需要...

    mybatis逆向生成实体类工具

    压缩包中的 `generatorSqlmapCustom` 文件可能是作者自定义的SQL Map生成模板,这通常是为了满足特定项目的需要,比如添加一些特殊的注解,或者修改默认的生成规则。用户可以根据自己的需求对这个模板进行修改,使得...

    Freemarker生成word文档

    - 解析XML数据:使用Java的DOM或SAX解析器读取XML文件,将数据加载到一个Map或自定义对象中,作为数据模型。 - 渲染模板:使用Freemarker API(如`Template`类)加载模板文件,并将数据模型传递给`process()`方法...

    java利用freemarker生成[参照].pdf

    你可以将Word文档另存为XML格式,然后使用XML编辑器如FOXE_CHS进行预览和调整,确保每个需要填充数据的位置都添加了FreeMarker的标记。这些标记通常以`&lt;#...&gt;`的形式存在,例如`&lt;#assign variableName = "value"&gt;`。...

    java生成一维码

    但请注意,JAI已经被弃用,所以除非有特殊需求,否则不推荐使用。 在你提到的压缩包文件中,包含了一个可以直接导入Eclipse的Web工程。这个工程应该已经集成了上述的ZXing库或者其他类似库,并提供了一种方式通过...

    mapstruct-plus-main.zip

    MapStruct是一个代码生成库,它的主要目标是通过自动生成转换代码来减少样板代码。在Java中,当我们在不同对象之间进行数据转换时,通常会编写大量手动的映射代码,这既耗时又容易出错。MapStruct通过分析源对象和...

    Java_使用MapStruct的例子.zip

    MapStruct是一个自动化的代码生成库,它简化了Java Bean对象之间的映射过程,减少了手动编写映射代码的工作量。本教程将通过一个具体的例子来介绍如何在Java项目中使用MapStruct。 首先,MapStruct的核心思想是基于...

    关于Freemarker生成word的使用(java生成word).pdf

    Freemarker是一个强大的模板引擎,常用于生成HTML、XML以及各种文本格式的文件,包括Word文档。在Java开发中,利用Freemarker生成Word文档是一种常见的需求,尤其是在处理动态数据和报告生成时。以下将详细介绍如何...

    hbm xml配置详解 ssh框架

    7. ****、****、**** 和 **&lt;map&gt;**:集合映射,对应Java的List、Set、Map等集合类型。 接下来,我们关注一下`Hibernate 映射类型`。映射类型是Hibernate实现ORM的核心,它们是Java类型和SQL类型之间的桥梁。...

    Freemarker利用模板生成word的使用(java生成word)

    值得注意的是,Freemarker生成的Word文档实际上是基于Open XML格式(.docx),而非传统的二进制Word格式(.doc)。但为了兼容性,我们通常将生成的文件扩展名设为`.doc`。 在实际应用中,你可能需要处理更复杂的...

    mybatis逆向生成pojo,mapper

    使用MyBatis逆向工程生成的代码可以快速搭建数据访问层,减少了手动编写基础代码的工作量,使开发者能更专注于业务逻辑的实现。同时,当数据库表结构发生变化时,可以通过更新配置重新生成代码,保持与数据库的一致...

    FreeMarker教你如何生成html静态页面源码

    FreeMarker是一款强大的、开源的模板引擎,主要用于生成动态HTML、XML等Web内容。它与Java紧密集成,广泛应用于Web应用的视图层,帮助开发者将数据模型与页面展示分离,提高开发效率和代码可维护性。 在Web开发中,...

    Jdom处理listOrMap

    - XML文档必须遵循XML规范,例如元素名和属性名不能以数字开头,不能包含特殊字符。 - 在处理大型XML文档时,注意内存管理,因为DOM模型会将整个文档加载到内存中。 - JDOM提供了两种构建器:SAXBuilder基于事件...

    freemarker生成doc方案

    Freemarker是一个强大的模板引擎,常用于Java应用中动态生成HTML、XML或其他文本格式的文档。在本场景中,我们探讨的是如何利用Freemarker来生成Microsoft Word(.doc)文档。这个方案主要适用于需要根据预定义模板...

    java使用Freemarker生成PDF以及HTML等文档.zip

    Java 使用 Freemarker 生成 PDF 和 HTML 等文档是一种常见的技术实践,特别是在Web应用中,为了提供可下载的报告或自定义格式的输出。Freemarker 是一个强大的模板引擎,它允许开发者通过模板语言与数据模型相结合来...

    freemaker学习教程

    首先,我们要明白在FreeMarker中直接遍历Map的特殊性。由于FreeMarker的设计,当你尝试直接在模板中遍历一个Map,它实际上会遍历Map的所有键(key),而不是值(value)。这是因为FreeMarker默认不直接支持遍历Map的...

Global site tag (gtag.js) - Google Analytics