个人日记:XML追加和覆盖内容,将XML某位置的子标签或者属性,文本删除
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某位置的子标签或者属性,文本删除相关推荐
- xpath 取标签下所有文字内容_对Xpath 获取子标签下所有文本的方法详解
对Xpath 获取子标签下所有文本的方法详解 在爬虫中遇见这种怎么办 想提取名称, 但是 名称不在一个标签里 使用xpath string()方法 例如 data.xpath("string ...
- c#正则表达式取出数据库中带html标签的内容,C#用正则表达式 获取网页源代码标签的属性或值...
1.有url获取到网页源代码: using System.Web; using System.IO; using System.Net; private void GetHtmlinfo(string ...
- react 替换标签内容_如何在 React 里自定义标签和属性?
日常开发中通常会有一些需求,需要定义一些全局通用的组件,在 Vue 里是有这样的功能,但是在 React 里,没有见过有类似的做法,通常都是在需要的时候引入组件,原则上在 Jsx 里只允许 html ...
- 【AS3代码】添加/删除XML子元素及属性
package { import flash.display.Sprite; import flash.xml.XMLDocument; public class M ...
- shell实战(二):cat EOF 追加与覆盖文件
一.前言 之前写shell脚本的时候,有这样一个需求:我需要创建一些文件,并将内容输入到文件中.如果创建一个文件内容模板,然后通过$1,$2传参的形式修改某些值,这样做感觉太不方便.后来从网上找了到 ...
- java post xmll_HttpClient发送Post请求,内容格式为xml,并获取响应内容
ChannelDistributor.xml 内容如下: yisou abcd1234 10010000 00 1).HttpClient发送Post请求,内容格式为xml,并获取响应内容 impor ...
- python txt文件读写(追加、覆盖)
python txt文件读写(追加.覆盖) 读取文件每一行 # 读取文件每一行 with open(r"C:\Users\xiahuadong\Desktop\数字人代码\文件行数.txt& ...
- 【Groovy】xml 序列化 ( 使用 MarkupBuilder 生成 xml 数据 | 设置 xml 标签内容 | 设置 xml 标签属性 )
文章目录 一.使用 MarkupBuilder 生成 xml 数据 二.完整代码示例 一.使用 MarkupBuilder 生成 xml 数据 生成 <student><name c ...
- DCMTK:将XML文档的内容转换为DICOM结构的报告文件
DCMTK:将XML文档的内容转换为DICOM结构的报告文件 将XML文档的内容转换为DICOM结构的报告文件 将XML文档的内容转换为DICOM结构的报告文件 #include "dcmt ...
最新文章
- java点滴(6)之java引用
- B 站硬件大佬在 GitHub 上开源了一款神器
- P3964-[TJOI2013]松鼠聚会【计算几何】
- C99中的变长数组(VLA)
- Oracle sqlldr 在DOS窗口导入多列数据到数据库表
- 最长回文(Manacher算法模板)
- 技术专题:请需要我帮忙抓包分析网络的网友,使用下面的抓包教程,然后将数据包发给我...
- qt html转pdf 怎么取消页码,更改或删除QPrintPreviewWidg中的页码
- WMB专题之ESQL
- 充气娃娃也好玩——在ESXi上安装Panabit与PanaLog(二)通过U盘引导GRUB安装ESXi
- 深入浅出ERC777合约
- This view is not constrained vertically: at runtime it will jump to the left unless you add a vertic
- Dell R730 xd “CPU 2 M23 VPP PG voltage is outside of range“故障
- matlab ga函数详解,求对ga函数的详细解释
- Kaldi中 声纹识别的流程图
- java透视图_Eclipse透视图
- WampServer安装教程、相关问题和检验
- 超详细的Sentinel入门
- 5G NR Rel16 两步接入/2-step RACH
- 淘宝 第三方应用安全规范