dom4j操作XML文件

来源:互联网 发布:python 获取微秒 编辑:程序博客网 时间:2024/05/22 00:02
package action.communication;import java.io.File;import java.io.FileWriter;import java.io.IOException;import java.util.Iterator;import java.util.List;import org.dom4j.Attribute;import org.dom4j.Document;import org.dom4j.DocumentHelper;import org.dom4j.Element;import org.dom4j.io.SAXReader;import org.dom4j.io.XMLWriter;/** * 使用dom4j操作XML文件的工具类 *  * @author Administrater *  */public class XMLUtil {/** * 在指定路径下创建一个xml文件 *  * @param filePath *            路径,如C:\test.xml */public static void createXMLFile(String filePath) {File file = new File(filePath);// 判断该文件是否存在,不存在则创建if (!file.exists()) {try {file.createNewFile();//System.out.println("===");} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}Document document = DocumentHelper.createDocument();// 建立document对象,用来操作xml文件Element booksElement = document.addElement("books");// 建立根节点booksElement.addComment("This is a test for dom4j ");// 加入一行注释Element bookElement = booksElement.addElement("book");// 添加一个book节点bookElement.addAttribute("show", "yes");// 添加属性内容Element titleElement = bookElement.addElement("title");// 添加文本节点titleElement.setText("ajax in action");// 添加文本内容try {XMLWriter writer = new XMLWriter(new FileWriter(file));writer.write(document);writer.close();} catch (Exception e) {e.printStackTrace();}}// 修改节点的属性public static void modifyXMLFileNodeAttr() {String oldStr = "c:/test.xml";Document document = null;// 修改节点的属性try {SAXReader saxReader = new SAXReader(); // 用来读取xml文档document = saxReader.read(new File(oldStr)); // 读取xml文档List list = document.selectNodes("/books/book/@show");// 用xpath查找节点book的属性System.out.println(list);Iterator iter = list.iterator();while (iter.hasNext()) {Attribute attribute = (Attribute) iter.next();if (attribute.getValue().equals("yes")) {attribute.setValue("no");}}} catch (Exception e) {e.printStackTrace();}try {XMLWriter writer = new XMLWriter(new FileWriter(new File(oldStr)));writer.write(document);writer.close();} catch (Exception ex) {ex.printStackTrace();}}// 修改节点的内容public static void modifyXMLFileNodeText() {String oldStr = "c:/test.xml";Document document = null;// 修改节点的内容try {SAXReader saxReader = new SAXReader(); // 用来读取xml文档document = saxReader.read(new File(oldStr)); // 读取xml文档List list = document.selectNodes("/books/book/title");// 用xpath查找节点book的内容Iterator iter = list.iterator();while (iter.hasNext()) {Element element = (Element) iter.next();element.setText("哈哈哈");// 设置相应的内容}} catch (Exception e) {e.printStackTrace();}try {XMLWriter writer = new XMLWriter(new FileWriter(new File(oldStr)));writer.write(document);writer.close();} catch (Exception ex) {ex.printStackTrace();}}//删除某节点public static void removeNode() {String oldStr = "c:/test.xml";Document document = null;try {SAXReader saxReader = new SAXReader();// 用来读取xml文档document = saxReader.read(new File(oldStr));// 读取xml文档List list = document.selectNodes("/books/book");// 用xpath查找对象Iterator iter = list.iterator();while (iter.hasNext()) {Element bookElement = (Element) iter.next();// 创建迭代器,用来查找要删除的节点,迭代器相当于指针,指向book下所有的title节点Iterator iterator = bookElement.elementIterator("title");while (iterator.hasNext()) {Element titleElement = (Element) iterator.next();if (titleElement.getText().equals("哈哈哈")) {bookElement.remove(titleElement);}}}} catch (Exception e) {e.printStackTrace();}try {XMLWriter writer = new XMLWriter(new FileWriter(new File(oldStr)));writer.write(document);writer.close();} catch (Exception ex) {ex.printStackTrace();}}public static void main(String[] args) {//XMLUtil.createXMLFile("c:/test.xml");//XMLUtil.modifyXMLFileNodeAttr();//XMLUtil.modifyXMLFileNodeText();//XMLUtil.removeNode();}}


转载处不详


原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 塑料饭盒盖子被吸住了怎么办 火腿淹的有臭味怎么办 微波炉热饭盖子打不开怎么办 夏天带饭容易馊怎么办? 保温饭盒里有气打不开怎么办 保温饭盒摔了一下打不开怎么办 饭盒跟盖子盖一起打不开怎么办 玻璃杯子盖被水吸住打不开怎么办 电饭煲热剩饭没加水怎么办 微波炉碗盖子吸住了怎么办 微波炉转饭盖子吸住了怎么办 玻璃碗放进微波炉打不开怎么办 乐扣微波炉加热后打不开怎么办 美的微波炉盖子打不开怎么办 美的微波炉门都打不开了怎么办 饭煮好了有异味怎么办 一正常吃饭就胖怎么办 高铁盒饭没15的怎么办 上火车前票丢了怎么办 减肥期吃了汉堡怎么办 寿司店鳗鱼有刺怎么办 吃泡面胃难受该怎么办 吃上火的东西脸上长痘痘怎么办 减肥期间吃撑了怎么办 喝了变质的牛奶怎么办 绿豆糕吃多了会怎么办 小孩抓米饭烫了手怎么办 减肥不来月经了怎么办 吃了馊了的米饭怎么办 饭在冰箱里硬了怎么办 剩米饭反潮了怎么办 吃馊米饭中毒后怎么办? 蒸熟的米饭发黄怎么办 孕妇肉类吃的少怎么办 大米饭坏了吃了怎么办 米饭煮糊了锅怎么办 减肥吃了猪肉脯怎么办 吃了硬米饭胃痛怎么办 宝宝吃了硬物怎么办 米饭卡在喉咙里了怎么办 喉咙里卡了米饭怎么办