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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • RPA中, COE是什么意思? 它的职责是什么?[通俗易懂]

    COE,是指RPA卓越中心,即CenterofExcellence,简称COE,是企业早期部署RPA时创建的部门,用于支持RPA的实现和正在进行的部署。一个企业要想顺利实施RPA,为企业后续RPA的部署打下良好基础,其关键推动因素之一,是要建立一个结构良好且人员配置完善的RPA卓越中心(COE)。为了实现这一目标,RPA厂商应该协助客户在机器人流程自动化过程中开发内部自我维持和可扩展的RPA专业知识,以运行和维护机器人。卓越中心(COE)本质上是将RPA深入有效地嵌入组织,并在未来部署中重新分配累积的知

    2022年4月18日
    210
  • shell中的if判断语句怎么写_shell脚本中if用法

    shell中的if判断语句怎么写_shell脚本中if用法if条件判断与if真假判断目录:1.正确写法2.错误写法3.总结一、正确写法在编写shell脚本时,为简化代码的行号及结构的简约型,通常将命令执行结果和判断通过一条语句进行编写(在C语言编写程序时,经常遇到此种写法),如:方法1:单一命令条件判断[root@centos7~]#touchtest.shifuseraddroot&am…

    2022年8月18日
    6
  • DNS递归和迭代过程详解

    DNS递归和迭代过程详解目录DNS原理解析DNS进化史DNS结构DNS查询流程DNS服务搭建DNS相关软件的安装服务器搭建规划手把手教你搭建基本DNS服务器搭建主DNS服务器搭建从DNS服务器参考文献DNS原理解析DNS进化史etc/hosts–&gt;NIS–&gt;DNS起初域名和ip地址之间的解析都是完全存放在一个名为hosts的文件当中…

    2022年6月6日
    49
  • [ACM] HDU 5083 Instruction (模拟)

    [ACM] HDU 5083 Instruction (模拟)

    2022年1月25日
    42
  • MinGW安装过程

    MinGW安装过程一. 下载MinGW官网下载地址:http://sourceforge.net/projects/mingw/二. 安装1. 双击下载好的压缩文件。 2. 然后出现如下界面,点击install(安装)开始安装。 3.指定安装参数选择(安装目录,用户目录选择)后,点击Continue继续下一步。 4.如下界面是下载和设置MinGW的安装配置

    2022年4月9日
    81
  • Drupal 默认安装的目录结构

    Drupal 默认安装的目录结构文件夹目录中的每一元素的详解如下:includes:包含了Drupal常用的函数库。misc:用来存储Drupal安装中可用的JavaScript,和其它各种图标和图片文件。modules:包含了所有核心模块,其中一个模块对应一个文件夹。最好不要乱动这个文件夹(包括profiles和sites以外的其它目录)下面的任何东西,你要添

    2022年7月20日
    16

发表回复

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

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