@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文件的更多相关文章

  1. 【dom4j xml】使用dom4j处理XML文件--测试过程遇到的问题

    首先 关于dom4j的API,有如下: 当然  其中的实体引用有以下: 测试使用环境: 使用Maven搭建web环境,pom.xml文件配置如下: <project xmlns="ht ...

  2. 【JAVA使用XPath、DOM4J解析XML文件,实现对XML文件的CRUD操作】

    一.简介 1.使用XPath可以快速精确定位指定的节点,以实现对XML文件的CRUD操作. 2.去网上下载一个“XPath帮助文档”,以便于查看语法等详细信息,最好是那种有很多实例的那种. 3.学习X ...

  3. 使用dom4j对xml文件进行增删改查

    1.使用dom4j技术对dom_demo.xml进行增删改查 首选要下载dom4j的jar包 在官网上找不到,网上搜索了一下在这个链接:http://sourceforge.net/projects/ ...

  4. 使用dom4j 解析xml文件

    //使用dom4j 解析xml文件,升级版,dom4j是对dom的封装 //重点 package com.offcn.utils; import java.io.File; import java.i ...

  5. dom4j 解析XML文件

    <?xml version="1.0" encoding="UTF-8"?> <!-- 手机的根节点 --> <Phones> ...

  6. java基础73 dom4j修改xml里面的内容(网页知识)

    1.DOM4J对XML文件进行增删改操作 实现代码 package com.shore.code; import java.io.File; import java.io.FileOutputStre ...

  7. 用dom4j修改xml(增加修改节点)

    用dom4j修改xml(增加修改节点) 博客分类: Java XMLJavaMyeclipseServlet  使用dom4j修改解析xml,xml文件的位置是配置在xml.properties文件中 ...

  8. Java xml 操作(Dom4J修改xml   + xPath技术  + SAX解析 + XML约束)

    1 XML基础 1)XML的作用 1.1 作为软件配置文件 1.2 作为小型的"数据库" 2)XML语法(由w3c组织规定的) 标签: 标签名不能以数字开头,中间不能有空格,区分大 ...

  9. 用dom4j解析xml文件并执行增删改查操作

    转自:https://www.aliyun.com/jiaocheng/1339446.html xml文件: <?xml version="1.0" encoding=&q ...

随机推荐

  1. 20160408javaweb之JDBC ---PreparedStatement

    PreparedStatement 1.Sql注入:由于jdbc程序在执行的过程中sql语句在拼装时使用了由页面传入参数,如果用户恶意传入一些sql中的特殊关键字,会导致sql语句意义发生变化,这种攻 ...

  2. Linq 的IQueryable和IEnumerable方式

    IEnumerable方式: public IEnumerable<WebManageUsers> GetWebManageUsers(ISpecification<WebManag ...

  3. OC - 2.OC基础知识介绍

    一.基础语法 1> OC语言和C语言 C语言是面向过程的语言,OC语言是面向对象的语言 OC语言继承了C语言,并增加了面向对象的思想 以下内容只介绍OC语言与C语言的不同之处 2> 关键字 ...

  4. iOS zipzap读取压缩文件

    最近在公司遇到一项需求,在不解压zip文件的情况下读取其中的文件,因为之前使用的ziparchive不能满足现在的需求,所以在网上一阵狂搜,终于找到了zipzap,实话说还真的难找. 之前读取本地zi ...

  5. poj 2763: [JLOI2011]飞行路线(spfa分层图最短路)

    2763: [JLOI2011]飞行路线 Time Limit: 10 Sec Memory Limit: 128 MB Submit: 2156 Solved: 818 [Submit][Statu ...

  6. 九度OJ 1131 合唱队形 -- 动态规划(最长递增子序列)

    题目地址:http://ac.jobdu.com/problem.php?pid=1131 题目描述: N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学不交换位置就能排成合 ...

  7. centos 不支持mysql

    感觉是php-odbc必须装 yum -y install php php-fpm yum –y install php-mysql php-common php-mbstring php-gd ph ...

  8. centos 安装php-fpm , nginx二级域名配置 ,但为什么必须要 域名提供商 哪里解析新的二级域名一下 才能用呢?

    yum -y install php-fpm php-mysql(当然还有其它扩展) /etc/init.d/php-fpm restart (重启php-fpm) /etc/php.ini (php ...

  9. char *s = getpass()屏幕不回显示 ,返回输入的字符

    char *s = getpass(“please input you name:”)屏幕不回显示 ,返回输入的字符

  10. js 判断数组中是否存在

    /* 判断数组中是否存在 var somearray = ["mon", "tue", "wed", "thur"] s ...