dom4j修改xml文件

dom4j修改xml文件

@SuppressWarnings("unchecked")
	@Override
	public void insertCustomInfo(File file, String modelCode,List<Property> props) {
		SAXReader saxReadr = new SAXReader();// 得到SAXReader对象
		try {
			org.dom4j.Document  doc=saxReadr.read(file);
			org.dom4j.Element root = doc.getRootElement();// 得到根节点
			if (null != props && props.size() > 0) {
				//初始化删除添加的节点
				org.dom4j.Element styleElement = root.element("Styles");
				/*Iterator<org.dom4j.Element> it =styleElement.elementIterator();
				while(it.hasNext()) {
					org.dom4j.Element e = it.next();
			        if(e.)

			   }*/
				//List<org.dom4j.Element>  domList=styleElement.selectNodes("/.");
				//开始增加数据
				if (null != styleElement) {
					styleElement.addComment("custome style  start");
					for (Property p : props) {
						//FIXME 根据属性样式不同,添加不同的样式
						org.dom4j.Element se=styleElement.addElement("Style");
						se.addAttribute("ss:ID", p.getCode());
						se.addElement("NumberFormat");
						se.addElement("Protection");
					}
					styleElement.addComment("custome style  end");
				}
				org.dom4j.Element workSheetElement = root.element("Worksheet");
				if (null != workSheetElement) {
					org.dom4j.Element tableElement = workSheetElement.element("Table");
					if (null != tableElement) {
						org.dom4j.Element rowElement = tableElement.element("Row");
						if (null != rowElement) {
							for (Property p : props) {
								org.dom4j.Element cellEle=rowElement.addElement("Cell");
								cellEle.addElement("Data").addAttribute("ss:Type", "String").addText(InternationalResource.get(p.getDisplayName(), getCurrentLanguage()));
								org.dom4j.Element commentEle=cellEle.addElement("Comment").addAttribute("ss:Author", "");
								//commentEle.add(attribute);
							}
						}
						List<org.dom4j.Element> columnElements=tableElement.elements("Column");
						int size=columnElements.size();
						if(null!=columnElements&&columnElements.size()>0)  {
							org.dom4j.Element colE = tableElement.element("Column");
							if (null != colE) {
								for (Property p : props) {
									colE.addElement("Column").addAttribute("ss:Index", String.valueOf(size++));
									colE.addElement("Column").addAttribute("ss:Index", String.valueOf(size++));
								}
							}
						}
					}
				}

			}
			OutputFormat format = OutputFormat.createPrettyPrint();
			try {
				XMLWriter writer = new XMLWriter(new FileWriter(file), format);
				writer.write(doc);
				writer.flush();
				writer.close();
			} catch (UnsupportedEncodingException e) {
				e.printStackTrace();
			} catch (IOException e) {
				e.printStackTrace();
			}
			log.info(root.getName());
		} catch (DocumentException e) {
			log.warn(e.getMessage());
		}
	       
	}

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/109113.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Linux LAMP架构介绍及配置「建议收藏」

    Linux LAMP架构介绍及配置「建议收藏」LinuxLAMP架构介绍及配置一、LAMPLAMP平台概述LAMP架构是目前成熟的企业网站应用模式之一,指的是协同工作的一整台系统和相关软件,能够提供动态web站点服务及其应用开发环境LAMP是一个缩写词,具体包括Linux操作系统,Apache网站服务器,MySQL数据库服务器,PHP(或perl,Python)网页编程语言LAMP各组件主要作用(平台)Linux:作为LAMP架构的基础,提供用于支撑Web站点的操作系统,能够与其他三个组件提供更好的稳定性,兼容性(AMP组件也

    2022年10月16日
    0
  • 常用的节点类型

    常用的节点类型

    2022年3月3日
    45
  • 在ListView中实现排序

    在ListView中实现排序此处介绍的情境是:(1)使用table布局ListView。(2)ListView的数据源是List。(3)排序字段2个(帖子的回复次数和浏览次数),都是int类型。基本思路:ListView触发数据

    2022年7月3日
    23
  • java闰年_java 判断闰年

    java闰年_java 判断闰年题目:在l.jsp中,设置一个表单,可以输入年份,提交到另外一个action进行计算,如果算出来是闰年,那么就跳转到a1.jsp(显示闰年),如果是平年就跳转到a2.jsp(显示平年)。要求:需要把计算是否闰年的算法,封装到一个工具类Year中isLeap方法中。第一步:创建1.jsp页面,并跳到action.jsp请输入年份:如下图:第二步:封装year工具类创建一个class类,取名year…

    2022年7月17日
    12
  • 模拟电路与数字电路基础知识点总结

    模拟电路与数字电路基础知识点总结最近模电真的是让人头疼,模电马上就要结课了,而我的只是水平还停留在第一章第一节,总结起来就是老师讲课听不懂,我又不想听,再加上老师又不想把分给我们,所以我慌了,就再csdn上查找了一下有没有大佬对模电只是点进行过总结;世界之大,总有大佬的:废话不多说,直接上链接,赶快去膜拜:模拟电路与数字电路基础知识点总结千万不要挂科啊~!!!!!!!!!1…

    2022年6月20日
    25
  • PHPstrom激活码[最新免费获取]

    (PHPstrom激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html1STL5S9V8F-eyJsa…

    2022年3月27日
    82

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号