创建XML文档

  XML文件是一种典型的树形文件,每个文档元素都是一个document元素的子节点。而每个子元素都是一个Element对象,对象可以向下包含。

  1 因此我们可以通过先创建元素再将元素添加到父元素中,最后将顶层元素添加到根元素中。

  2 创建完文档元素后,就可以把元素添加到document对象中,然后写入文件。

  主要使用的函数:

Element.setAttribute 为元素添加信息

Element.addContent(String,String) 为元素添加子元素内容,也可以直接添加另一个元素节点

Document.setRootElement(Element) 为文档添加根元素

XMLOutputter.output(Document,FileWriter) 将Docuemnt写入到FileWriter文件流中
  1. @SuppressWarnings("null")
  2. 2     public static void createXML() {
  3. 3         // 创建document
  4. 4         Document mydoc = new Document();
  5. 5
  6. 6         // 创建元素person1
  7. 7         Element person1 = new Element("person");
  8. 8         person1.setAttribute("id", "ID001");
  9. 9         // 添加注释
  10. 10         person1.addContent(new Comment("this is person1"));
  11. 11
  12. 12         person1.addContent(new Element("name").setText("xingoo"));
  13. 13         person1.addContent(new Element("age").setText("25"));
  14. 14         person1.addContent(new Element("sex").setText("M"));
  15. 15         // 可以嵌套添加子元素
  16. 16         Element address1 = new Element("address");
  17. 17         address1.setAttribute("zone", "province");
  18. 18         address1.addContent("LiaoNing");
  19. 19         person1.addContent(address1);
  20. 20
  21. 21         // 创建元素person2
  22. 22         Element person2 = new Element("person");
  23. 23         person2.setAttribute("id", "ID002");
  24. 24         // 添加注释
  25. 25         person2.addContent(new Comment("this is person2"));
  26. 26
  27. 27         person2.addContent(new Element("name").setText("xhalo"));
  28. 28         person2.addContent(new Element("age").setText("26"));
  29. 29         person2.addContent(new Element("sex").setText("M"));
  30. 30         // 可以嵌套添加子元素
  31. 31         Element address2 = new Element("address");
  32. 32         address2.setAttribute("zone", "province");
  33. 33         address2.addContent("JiLin");
  34. 34         person2.addContent(address2);
  35. 35
  36. 36         // 在doc中添加元素Person
  37. 37         Element info = new Element("information");
  38. 38         info.addContent(person1);
  39. 39         info.addContent(person2);
  40. 40         mydoc.setRootElement(info);
  41. 41        
  42. 42         saveXML(mydoc);
  43. 43     }
  44. saveXML()代码:
  45. 1     public static void saveXML(Document doc) {
  46. 2         // 将doc对象输出到文件
  47. 3         try {
  48. 4             // 创建xml文件输出流
  49. 5             XMLOutputter xmlopt = new XMLOutputter();
  50. 6
  51. 7             // 创建文件输出流
  52. 8             FileWriter writer = new FileWriter("person.xml");
  53. 9
  54. 10             // 指定文档格式
  55. 11             Format fm = Format.getPrettyFormat();
  56. 12             // fm.setEncoding("GB2312");
  57. 13             xmlopt.setFormat(fm);
  58. 14
  59. 15             // 将doc写入到指定的文件中
  60. 16             xmlopt.output(doc, writer);
  61. 17             writer.close();
  62. 18         } catch (Exception e) {
  63. 19             e.printStackTrace();
  64. 20         }
  65. 21     }

 执行后,刷新项目,就可以在项目下看到person.xml文件了

修改同理

删除 :

  1.     public static void removeXML() {
  2.         SAXBuilder sb = new SAXBuilder();
  3.         Document doc = null;
  4.         try {
  5.             doc = sb.build("person.xml");
  6.             Element root = doc.getRootElement();
  7.             List<Element> list = root.getChildren("person");
  8.             for (Element el : list) {
  9.                 if (el.getAttributeValue("id").equals("ID001")) {
  10.                     root.removeContent(el);
  11.                 }
  12.             }
  13.         } catch (Exception e) {
  14.             e.printStackTrace();
  15.         }
  16.         saveXML(doc);
  17.     }



jdom 插入 修改 删除的更多相关文章

  1. Hibernate 插入,修改,删除,查询语句

    /* *具体操作hibernate的类 *增加,删除,修改,按ID查询,模糊查询,查询全部 **/ public class PersonOperate { //在hibernate中所有操作都是由S ...

  2. 图文并解Word插入修改删除批注

    .插入批注 首先选择对象,比如部分文字[hd1] ,之后执行这样的操作:"插入"→"批注":插入的批注处于编辑状态,可以直接输入批注的文字即可;图解如下: .修 ...

  3. Delphi ADOQuery连接数据库的查询、插入、删除、修改

    http://blog.csdn.net/chinazhd/article/details/45047777 //查询记录 procedure TForm1.Button1Click(Sender: ...

  4. javascript 常见数组操作( 1、数组整体元素修改 2、 数组筛选 3、jquery 元素转数组 4、获取两个数组中相同部分或者不同部分 5、数组去重并倒序排序 6、数组排序 7、数组截取slice 8、数组插入、删除splice(需明确位置) 9、数组遍历 10、jQuery根据元素值删除数组元素的方)

    主要内容: 1.数组整体元素修改 2. 数组筛选 3.jquery 元素转数组 4.获取两个数组中相同部分或者不同部分 5.数组去重并倒序排序 6.数组排序 7.数组截取slice 8.数组插入.删除 ...

  5. 我的MYSQL学习心得(八) 插入 更新 删除

    我的MYSQL学习心得(八) 插入 更新 删除 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得( ...

  6. Entity Framework 6 Recipes 2nd Edition(10-9)译 -> 在多对多关系中为插入和删除使用存储过程

    10-9. 在多对多关系中为插入和删除使用存储过程 问题 想要在一个无载荷的多对多关系中使用存储过程(存储过程只影响关系的连接表) 解决方案 假设有一个多对多关系的作者( Author)表和书籍( B ...

  7. Java 集合与队列的插入、删除在并发下的性能比较

    这两天在写一个java多线程的爬虫,以广度优先爬取网页,设置两个缓存: 一个保存已经访问过的URL:vistedUrls 一个保存没有访问过的URL:unVistedUrls 需要爬取的数据量不大,对 ...

  8. 数据结构Java实现03----单向链表的插入和删除

    文本主要内容: 链表结构 单链表代码实现 单链表的效率分析 一.链表结构: (物理存储结构上不连续,逻辑上连续:大小不固定)            概念: 链式存储结构是基于指针实现的.我们把一个数据 ...

  9. [改善Java代码]频繁插入和删除时使用LinkedList

    一.分析 前面有文章分析了列表的表里方式,也就是“读”的操作.本文将介绍表的“写”操作:即插入.删除.修改动作. 二.场景 1.插入元素 列表中我们使用最多的是ArrayList,下面看看他的插入(a ...

随机推荐

  1. luigi操作hive表

    关于luigi框架下查询hive表的操作 class JoinQuery(HiveQueryTask): date=luigi.DateParameter() def hiveconfs(self): ...

  2. UIWebView页面的控制(二)

    1.UIWebView的内容控制的属性/方法列表 loading属性               确认当前页面是否在读入中 canGoForward属性   确认goForward  方法是否可运行, ...

  3. 关于使用jquery时,ie8下提示对象不支持的属性或方法的解决办法

    转自:http://wapapp.baidu.com/auoong/item/538790fcbe87c834d7ff8cde 首先这个问题的前提是已经排除了常见的这个问题.下面说一种今天我碰到的一种 ...

  4. request.getHeader不区分大小写

    <!--查看输出信息--><% System.out.println("Header...."); Enumeration<String> e = r ...

  5. (转)更新Java final常量后,请重新编译你的class

    程序中使用的各种常量用一个类来统一管理,类似: public class AppConst { public static final String STR_1 = "String1&quo ...

  6. Python List+Tuple+Dict+Set小结

    创建List:L = ['Adam', 'Lisa', 'Bart', 'Gechong', 'Kongming'] 显示List:L[0] 遍历List:print (L)和for循环 更新List ...

  7. UI组件之TextView及其子类(五)计时器Chronometer

    Chronometer直接继承了TextView组件,它会显示一段文本,显示从某个事实上时间開始.一共过了多长时间.我们看Chronometer的源代码: watermark/2/text/aHR0c ...

  8. 查看sqlserver 2008中性能低下的语句

    经常使用这个语句来查看性能低下的sql语句: SELECT creation_time N'语句编译时间' ,last_execution_time N'上次执行时间' ,total_physical ...

  9. ZooKeeper安装方法具体解释

    ZooKeeper安装方式分为两种,一种为单机模式.一个为集群模式,集群模式须要事先正确配置hadoop集群,安装方法參考hadoop-1.2.1安装方法具体解释 单机模式安装: 1.上传并解压zoo ...

  10. javascript&jquery 判断滚动到页面底部

      js 判断滚动到页面底部 CreateTime--2018年4月14日10:13:07 Author:Marydon 1.使用场景: 滚动到屏幕底部,触发加载分页数据请求(qq空间,手机端) 2. ...