当前位置: 首页 > news >正文

Document对象

DOM4j中,获得Document对象的方式有三种:

1.读取XML文件,获得document对象            

                   SAXReader reader = new SAXReader();
              Document   document = reader.read(new File("input.xml"));

2.解析XML形式的文本,得到document对象.

                   String text = "<members></members>";
              Document document = DocumentHelper.parseText(text);

3.主动创建document对象.

                  Document document = DocumentHelper.createDocument();
             //创建根节点

                  Element root = document.addElement("members");

Tip:节点对象

1.获取文档的根节点.

      Element root = document.getRootElement();

2.取得某个节点的子节点.

Element element=node.element(“书名");

3.取得节点的文字

      String text=node.getText();

4.取得某节点下所有名为“member”的子节点,并进行遍历.
 List nodes = rootElm.elements("member");
  for (Iterator it = nodes.iterator(); it.hasNext();) {
     Element elm = (Element) it.next();
    // do something
 }

5.对某节点下的所有子节点进行遍历.

for(Iterator it=root.elementIterator();it.hasNext();){

       Element element = (Element) it.next();

       // do something
    }

6.在某节点下添加子节点.

Element ageElm = newMemberElm.addElement("age");

7.设置节点文字.

 element.setText("29");

8.删除某节点.

//childElm是待删除的节点,parentElm是其父节点

parentElm.remove(childElm);

9.添加一个CDATA节点.
Element contentElm = infoElm.addElement("content");

contentElm.addCDATA(diary.getContent());

​​​​​​​节点对象属性

1.取得某节点下的某属性
    Element root=document.getRootElement();    

//属性名name

         Attribute attribute=root.attribute("size");

2.取得属性的文字

   String text=attribute.getText();

 3.删除某属性
 Attribute attribute=root.attribute("size");

 root.remove(attribute);

3.遍历某节点的所有属性

   Element root=document.getRootElement();   

  for(Iterator it=root.attributeIterator();it.hasNext();){

         Attribute attribute = (Attribute) it.next();

         String text=attribute.getText();

         System.out.println(text);

    }

4.设置某节点的属性和文字.

   newMemberElm.addAttribute("name", "sitinspring");

5.设置属性的文字

  Attribute attribute=root.attribute("name");

   attribute.setText("sitinspring");

相关文章:

  • 【组态PLC】基于西门子S7-200和博图V16和组态王十层起重机电梯设计【含PLC组态源码 M018期】
  • 什么是 Java 中的线程安全?
  • 使用前端 html css 和js 开发一个AI智能平台官网模板-前端静态页面项目
  • 运维脚本——10.服务健康检查与自愈
  • ffmpeg avformat_open_input的作用
  • 赚钱的事与值钱的事
  • 绕过information_schema库的一些方式
  • 总结一下Java中的线程池的面试问题
  • ms-swift 3.x和2.x中参数不一致的暗坑
  • string类详解(下)
  • Spark内存并行计算框架
  • 设计模式教程:模板方法模式(Template Method Pattern)
  • 体验腾讯tencent-deepseek-R1模型
  • 计算机毕业设计SpringBoot+Vue.js中小企业设备管理系统(源码+文档+PPT+讲解)
  • Linux: 已占用接口
  • 自动驾驶FSD技术的核心算法与软件实现
  • 【NLP面试八股-NLP常见面试问题详细回答】
  • 深度学习相关名词功能总结
  • AXI协议详解及FPGA仿真
  • 51 哈希表的实现
  • 新闻类的网站有哪些类型/国内搜索引擎有哪些
  • 宿迁公司做网站/今日最新闻
  • 网站说服力-营销型网站策划/百度域名购买
  • 福田网站建设设计/深圳推广平台深圳网络推广
  • dreamweaver做网站教学/手机app免费下载
  • 网站怎么做微信支付/搜索引擎优化举例说明