Document对象

ops/2025/2/28 20:03:06/

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");


http://www.ppmy.cn/ops/162050.html

相关文章

泛微e-office index.php sql注入漏洞复现(CNVD-2022-2)(附脚本)

免责申明: 本文所描述的漏洞及其复现步骤仅供网络安全研究与教育目的使用。任何人不得将本文提供的信息用于非法目的或未经授权的系统测试。作者不对任何由于使用本文信息而导致的直接或间接损害承担责任。如涉及侵权,请及时与我们联系,我们将尽快处理并删除相关内容。 0x0…

Vue 项目中配置代理的必要性与实现指南

Vue 项目中配置代理的必要性与实现指南 在 Vue 前端项目的开发过程中&#xff0c;前端与后端地址通常不同&#xff0c;可能引发跨域问题。为了在开发环境下顺畅地请求后端接口&#xff0c;常常会通过配置**代理&#xff08;proxy&#xff09;**来解决问题。这篇文章将详细解析…

Gin从入门到精通 (七)文件上传和下载

文件上传和下载 1.文件上传 1.1单文件上传 在 Gin 中处理单文件上传&#xff0c;可以使用 c.FormFile 方法获取上传的文件&#xff0c;然后使用 c.SaveUploadedFile 方法保存文件。 package mainimport ("github.com/gin-gonic/gin""log" )func main()…

SEO炼金术(4)| Next.js SEO 全攻略

在上一篇文章 SEO炼金术&#xff08;3&#xff09;| 深入解析 SEO 关键要素 中&#xff0c;我们深入解析了 SEO 关键要素&#xff0c;包括 meta 标签、robots.txt、canonical、sitemap.xml 和 hreflang&#xff0c;并探讨了它们在搜索引擎优化&#xff08;SEO&#xff09;中的作…

为AI聊天工具添加一个知识系统 之125 详细设计之66 智能语义网络

本文要点 要点 需要了解 ”智能“的不同意义。语义学有三&#xff1a;形式语义学、词典语义学和认知语义学。下面给出本项目的设计对“智能”的所有三种语义学 划分。 1、形式语义学&#xff08;认识对象执行操作系统化&#xff0c;形式化目的-形成数据&#xff08;形成式智…

C++程序员内功修炼——Linux C/C++编程技术汇总

在软件开发的宏大版图中&#xff0c;C 语言宛如一座巍峨的高山&#xff0c;吸引着无数开发者攀登探索。而 Linux 操作系统&#xff0c;以其开源、稳定、高效的特性&#xff0c;成为了众多开发者钟爱的开发平台。将 C 与 Linux 相结合&#xff0c;就如同为开发者配备了一把无坚不…

人工智能神经网络

利用女性糖尿病人的怀孕次数、血糖、血压、皮脂厚度、胰岛素等特征通过BP神经网络来预测一个女性是否患有糖尿病&#xff0c;并且计算出模型预测的准确率。通过女性糖尿病患者的一系列特征构建一个BP神经网络模型&#xff0c;通过该模型预测一名女性患有糖尿病的概率。 main.py…

计算机毕业设计SpringBoot+Vue.js汽车销售网站(源码+文档+PPT+讲解)

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 作者简介&#xff1a;Java领…