java中使用Dom4j修改xml文件【转】
来源:互联网 发布:数据库序列如何创建 编辑:程序博客网 时间:2024/05/01 11:45
package org.zzn.dom4j; import org.dom4j.Document; import org.dom4j.Element; import org.dom4j.Attribute; import java.util.List; import java.util.Iterator; import org.dom4j.io.OutputFormat; import org.dom4j.io.XMLWriter; import java.io.*; import org.dom4j.DocumentException; import org.dom4j.io.SAXReader; public class Dom4JParser{ public void modifyDocument(File inputXml){ try{ //使用 SAXReader 解析 XML 文档 catalog.xml SAXReader saxReader = new SAXReader(); Document document = saxReader.read(inputXml); //SAXReader 包含在 org.dom4j.io 包中。 //inputXml 是从 c:/catalog/catalog.xml 创建的 java.io.File。 //使用 XPath 表达式从 article 元素中获得 level 节点列表。 //如果 level 属性值是“Intermediate”则改为“Introductory”。 List list = document.selectNodes("//article/@level" ); Iterator iter=list.iterator(); while(iter.hasNext()){ Attribute attribute=(Attribute)iter.next(); if(attribute.getValue().equals("Intermediate")) attribute.setValue("Introductory"); } //获取 article 元素列表,从 article 元素中的 title 元素得到一个迭代器,并修改 title 元素的文本。 list = document.selectNodes("//article/@date" ); iter=list.iterator(); while(iter.hasNext()){ Attribute attribute=(Attribute)iter.next(); if(attribute.getValue().equals("December-2001")) attribute.setValue("October-2002"); } list = document.selectNodes("//article" ); iter=list.iterator(); while(iter.hasNext()){ Element element=(Element)iter.next(); Iterator iterator=element.elementIterator("title"); while(iterator.hasNext()){ Element titleElement=(Element)iterator.next(); if(titleElement.getText().equals("Java configuration with XML Schema")) titleElement.setText("Create flexible and extensible XML schema"); } } //通过和 title 元素类似的过程修改 author 元素 list = document.selectNodes("//article/author" ); iter=list.iterator(); while(iter.hasNext()){ Element element=(Element)iter.next(); Iterator iterator=element.elementIterator("firstname"); while(iterator.hasNext()){ Element firstNameElement=(Element)iterator.next(); if(firstNameElement.getText().equals("Marcello")) firstNameElement.setText("Ayesha"); } } list = document.selectNodes("//article/author" ); iter=list.iterator(); while(iter.hasNext()){ Element element=(Element)iter.next(); Iterator iterator=element.elementIterator("lastname"); while(iterator.hasNext()){ Element lastNameElement=(Element)iterator.next(); if(lastNameElement.getText().equals("Vitaletti")) lastNameElement.setText("Malik"); } } OutputFormat format = OutputFormat.createPrettyPrint(); format.setEncoding("GBK"); XMLWriter output = new XMLWriter( new FileWriter( new File("e:/catalog-modified.xml") ),format); output.write( document ); output.close(); } catch(DocumentException e) { System.out.println(e.getMessage()); } catch(IOException e){ System.out.println(e.getMessage()); } } public static void main(String[] argv){ Dom4JParser dom4jParser=new Dom4JParser(); dom4jParser.modifyDocument(new File("e:/catalog.xml")); } }
运行此代码需要 dom4j.jar包和jaxen.jar包
转载自:http://www.blogjava.net/hhhaaawwwkkk/archive/2008/12/28/248745.html
- java中使用Dom4j修改xml文件【转】
- Dom4j修改xml文件
- dom4j解析、修改、生成xml文件(转)
- java中采用dom4j解析xml文件
- java 使用dom4j读写xml文件
- java 使用dom4j.jar读取xml文件
- java学习:使用dom4j读写xml文件
- java 使用dom4j读写xml文件
- JAVA中使用dom4j操作XML
- 在java中使用dom4j解析xml
- java中使用dom4j解析xml
- java中使用dom4j解析xml
- 使用 dom4j 创建 修改 XML
- Java操作XML文件 dom4j 篇【转】
- XML学习06-Java中Dom4J方式解析XML文件
- Java与XML(二):使用Dom4j 操作 XML 文件
- 使用dom4j把java对象转XML并存为xml文件
- 用DOM4J创建及修改XML文件(转)
- 再谈异构计算CPU+GPU
- 递归转换成非递归思路
- Dom4j下载及使用Dom4j读写XML简介
- char与int转化
- Emacs下日程管理GTD
- java中使用Dom4j修改xml文件【转】
- Eclipse Java注释模板设置详解[转载]
- 李长春致信祝贺莫言获诺贝尔文学奖-李长春-莫言-诺贝尔文学奖
- Unity动态加载和内存管理(三合一)。。。好强悍。。。
- 使用的vim(gvim)相关插件整理
- hibernate annotation one-to-one
- 星号图01
- 笔记杂录:运营商 - 西班牙电信下属Giffgaff
- 两家出版社称考虑将莫言作品编入中学教材-莫言-教材-诺贝尔奖