XML添加子标签:
这里使用的是覆盖,即通过建立新文档读取旧文档的属性然后进行添加,最后覆盖原文档完成修改。
如果想要使用添加的话,那么使用document doc=documenthelper.creatdocument;代码建立新的文档,然后进行写入想要添加的内容,最后在输出流 
XMLWriter xmlWriter = new XMLWriter(new FileOutputStream(f), format);这里format改为boolean append,即为追加而不是覆盖

public static void add() throws DocumentException, IOException {
        SAXReader saxReader = new SAXReader();
        Document doc = saxReader.read(new File("C:\\Users\\Administrator\\IdeaProjects\\day24\\src\\HW4\\Test.XML"));

//添加三星手机属性
        Element rootElement = doc.getRootElement();//找到根节点
        Element el = rootElement.addElement("brand");//在根节点下建立brand节点  根据需求在想要的地方建立
        //给brand节点赋值
        el.addAttribute("name","sumsang");
        //给标签赋属性和属性值
        Element type = el.addElement("Type");
        type.addAttribute("name","NOTE4");
        //实例化输出格式对象
        OutputFormat format = OutputFormat.createCompactFormat();
        //设置输出编码
        format.setEncoding("UTF-8");
        //创建需要写入的对象
        File f = new File("C:\\Users\\Administrator\\IdeaProjects\\day24\\src\\Text.XML");
        //生成XMLwriter对象,构造函数中的参数为需要输出的文件流和格式
        XMLWriter xmlWriter = new XMLWriter(new FileOutputStream(f), format);//
        //开始写入,write方法包含上面创建的DOC对象
        xmlWriter.write(doc);

}

注:无法通过属性值来返回标签。
   可以找到属性或者文本进行删除,但同时也无法使用属性或者文本来删除对应的标签
   可以通过集合遍历来判断,通过对属性值的判断是否相等来删除对应的属性或者标签。

public static void del() throws DocumentException, IOException {
        // /*删除华为的标签功能*/
        SAXReader saxReader = new SAXReader();//建立编译器
        //将对应文件的XML文件读取到一个doc文档中
        Document doc = saxReader.read("C:\\Users\\Administrator\\IdeaProjects\\day24\\src\\HW4\\Test.XML");
        //找到想删除的子标签
        Element rootElement = doc.getRootElement();

List<Element> brand = rootElement.elements();//将Brand对应的子标签作为一个集合
        Element name = brand.get(0);//找到华为对应的集合
        System.out.println(name);

//使用其父级标签的方法删除该属性或者子标签
        rootElement.remove(name);//删除对应的集合。
        //输出流
        OutputFormat outputFormat = OutputFormat.createCompactFormat();
        outputFormat.setEncoding("UTF-8");
        //建立XML输出器
        XMLWriter xmlWriter = new XMLWriter(new FileOutputStream("C:\\Users\\Administrator\\IdeaProjects\\day24\\src\\HW4\\Test2.XML"), outputFormat);
        xmlWriter.write(doc);
        xmlWriter.close();
    }

个人日记:XML追加和覆盖内容,将XML某位置的子标签或者属性,文本删除相关推荐

  1. xpath 取标签下所有文字内容_对Xpath 获取子标签下所有文本的方法详解

    对Xpath 获取子标签下所有文本的方法详解 在爬虫中遇见这种怎么办 想提取名称, 但是 名称不在一个标签里 使用xpath string()方法 例如 data.xpath("string ...

  2. c#正则表达式取出数据库中带html标签的内容,C#用正则表达式 获取网页源代码标签的属性或值...

    1.有url获取到网页源代码: using System.Web; using System.IO; using System.Net; private void GetHtmlinfo(string ...

  3. react 替换标签内容_如何在 React 里自定义标签和属性?

    日常开发中通常会有一些需求,需要定义一些全局通用的组件,在 Vue 里是有这样的功能,但是在 React 里,没有见过有类似的做法,通常都是在需要的时候引入组件,原则上在 Jsx 里只允许 html ...

  4. 【AS3代码】添加/删除XML子元素及属性

    package {     import flash.display.Sprite;     import flash.xml.XMLDocument;          public class M ...

  5. shell实战(二):cat EOF 追加与覆盖文件

    一.前言 之前写shell脚本的时候,有这样一个需求:我需要创建一些文件,并将内容输入到文件中.如果创建一个文件内容模板,然后通过$1,$2传参的形式修改某些值,这样做感觉太不方便.后来从网上找了到 ...

  6. java post xmll_HttpClient发送Post请求,内容格式为xml,并获取响应内容

    ChannelDistributor.xml 内容如下: yisou abcd1234 10010000 00 1).HttpClient发送Post请求,内容格式为xml,并获取响应内容 impor ...

  7. python txt文件读写(追加、覆盖)

    python txt文件读写(追加.覆盖) 读取文件每一行 # 读取文件每一行 with open(r"C:\Users\xiahuadong\Desktop\数字人代码\文件行数.txt& ...

  8. 【Groovy】xml 序列化 ( 使用 MarkupBuilder 生成 xml 数据 | 设置 xml 标签内容 | 设置 xml 标签属性 )

    文章目录 一.使用 MarkupBuilder 生成 xml 数据 二.完整代码示例 一.使用 MarkupBuilder 生成 xml 数据 生成 <student><name c ...

  9. DCMTK:将XML文档的内容转换为DICOM结构的报告文件

    DCMTK:将XML文档的内容转换为DICOM结构的报告文件 将XML文档的内容转换为DICOM结构的报告文件 将XML文档的内容转换为DICOM结构的报告文件 #include "dcmt ...

最新文章

  1. java点滴(6)之java引用
  2. B 站硬件大佬在 GitHub 上开源了一款神器
  3. P3964-[TJOI2013]松鼠聚会【计算几何】
  4. C99中的变长数组(VLA)
  5. Oracle sqlldr 在DOS窗口导入多列数据到数据库表
  6. 最长回文(Manacher算法模板)
  7. 技术专题:请需要我帮忙抓包分析网络的网友,使用下面的抓包教程,然后将数据包发给我...
  8. qt html转pdf 怎么取消页码,更改或删除QPrintPreviewWidg中的页码
  9. WMB专题之ESQL
  10. 充气娃娃也好玩——在ESXi上安装Panabit与PanaLog(二)通过U盘引导GRUB安装ESXi
  11. 深入浅出ERC777合约
  12. This view is not constrained vertically: at runtime it will jump to the left unless you add a vertic
  13. Dell R730 xd “CPU 2 M23 VPP PG voltage is outside of range“故障
  14. matlab ga函数详解,求对ga函数的详细解释
  15. Kaldi中 声纹识别的流程图
  16. java透视图_Eclipse透视图
  17. WampServer安装教程、相关问题和检验
  18. 超详细的Sentinel入门
  19. 5G NR Rel16 两步接入/2-step RACH
  20. 淘宝 第三方应用安全规范

热门文章

  1. oracle对某两列求和再求和_分手再狠也不怕,3步让他主动求和
  2. 广深IT之行:传统模式与技术创新的融合
  3. 安装tensorflow 2.5
  4. 小程序毕设作品之微信积分商城小程序毕业设计成品(8)毕业设计论文模板
  5. [Nucleo-F411RE] 第1篇---新建一个工程
  6. java培训学习之Java工具的分享
  7. Linux几种包下载安装方式
  8. html编辑唐诗的格式,标准格式唐诗宋词
  9. python修改Jenkins job的参数默认值
  10. Mybatis的ResultMap结果集映射