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());
- }
- }
dom4j修改xml文件的更多相关文章
- 【dom4j xml】使用dom4j处理XML文件--测试过程遇到的问题
首先 关于dom4j的API,有如下: 当然 其中的实体引用有以下: 测试使用环境: 使用Maven搭建web环境,pom.xml文件配置如下: <project xmlns="ht ...
- 【JAVA使用XPath、DOM4J解析XML文件,实现对XML文件的CRUD操作】
一.简介 1.使用XPath可以快速精确定位指定的节点,以实现对XML文件的CRUD操作. 2.去网上下载一个“XPath帮助文档”,以便于查看语法等详细信息,最好是那种有很多实例的那种. 3.学习X ...
- 使用dom4j对xml文件进行增删改查
1.使用dom4j技术对dom_demo.xml进行增删改查 首选要下载dom4j的jar包 在官网上找不到,网上搜索了一下在这个链接:http://sourceforge.net/projects/ ...
- 使用dom4j 解析xml文件
//使用dom4j 解析xml文件,升级版,dom4j是对dom的封装 //重点 package com.offcn.utils; import java.io.File; import java.i ...
- dom4j 解析XML文件
<?xml version="1.0" encoding="UTF-8"?> <!-- 手机的根节点 --> <Phones> ...
- java基础73 dom4j修改xml里面的内容(网页知识)
1.DOM4J对XML文件进行增删改操作 实现代码 package com.shore.code; import java.io.File; import java.io.FileOutputStre ...
- 用dom4j修改xml(增加修改节点)
用dom4j修改xml(增加修改节点) 博客分类: Java XMLJavaMyeclipseServlet 使用dom4j修改解析xml,xml文件的位置是配置在xml.properties文件中 ...
- Java xml 操作(Dom4J修改xml + xPath技术 + SAX解析 + XML约束)
1 XML基础 1)XML的作用 1.1 作为软件配置文件 1.2 作为小型的"数据库" 2)XML语法(由w3c组织规定的) 标签: 标签名不能以数字开头,中间不能有空格,区分大 ...
- 用dom4j解析xml文件并执行增删改查操作
转自:https://www.aliyun.com/jiaocheng/1339446.html xml文件: <?xml version="1.0" encoding=&q ...
随机推荐
- 学习XAML中的一些基本语法
1:slider 控件 2:x:名称空间的使用 3:事件处理器 event handler { <Button x:Name="button1" Click=" ...
- C++ socket开发1
服务端 setlocale(LC_ALL,"Chinese-simplified"); WORD wVersionRequested; WSADATA wsaData; int e ...
- iOS开发——百度地图SDK集成
(正在形成文档,待更新……)
- jQuery分析(3) - jQuery.fn.init
1.前言 上一篇jQuery分析(2)中了解了jQuery库的骨架实现原理,这就好比摇滚音乐,摇滚音乐不是某种音乐他就像一个音乐盒子,里面包含了各种不同的摇滚风格(山地.朋克.乡村.流行.硬摇.金属. ...
- AngularJS2学习
@Input @Input是用来定义模块的输入的,用来让父模块往子模块传递内容: @Component({ selector: 'bank-account', template: ` Bank Nam ...
- SGU 239.Minesweeper
题意: 如图,一列未知的区域长度为n(≤1000),给出第二列的数字,求区域中雷的排列有多少种. Solution: 搜索.这题看上去1000的范围很大,实际上加上合理的剪枝,状态数会变得非常非常少. ...
- PHP通过(PDO)Mysql表字段一键生成创建sqlite的SQL
首发于:http://www.zzzzy.com/201406053158.html /** * Mysql表字段一键生成创建sqlite的SQL 2 * @author: Skiychan < ...
- PHP 自 5.2 到 5.6 中新增的功能详解
截至目前(2014.2), PHP 的最新稳定版本是 PHP5.5, 但有差不多一半的用户仍在使用已经不在维护 [注] 的 PHP5.2, 其余的一半用户在使用 PHP5.3 [注].因为 PHP 那 ...
- (转载)在Delphi中利用MSDASC来配置数据库链接
在Delphi中利用MSDASC来配置数据库链接 在运行期进行数据库的连接是一个问题,自己写一个窗体配置吧,数据库不一样,所用的参数也不一样,还有那讨厌的连接字符串,有时真不知该写什么好.那天无意中发 ...
- 启动Tomcat出现Using CATALINA_BASE
有一次命令行启动Tomcat的时候,出现: Using CATALINA_BASE: "D:\apache-tomcat-6.0.35"Using CATALINA_HOME: & ...