xml

Posted on 2023-06-19 19:43  liuxin6de1b  阅读(18)  评论(0编辑  收藏  举报

XML简介

可扩展(自定义){例如html中的标记是html head body;但是xml可以不用这个固定的标记,我可以自己定义标记}标记[<>]

特点:可以跨平台,跨语言/系统传递{c++,c语言传过来,我可以用xml转成java

作用:传递数据,框架/应用程序使用xml进行参数配置。

XML文档结构

<?xml version="1.0"encoding="UTF-8"?>第一行是文档声明xml指定当前文档的类型 version指定当前xml的版本;encoding=“UTF-8”指定当前xml遵循的字符集  

<?xml-stylesheet type="text/css" href="a,css?">第二行代表的含义是指定当前xml的格式(新建一个以css为后缀的file,在xml调用这个css的文件名添加样式,css中为xml)  
<BOOK    (get rootElement(根元素)) name(attribute(属性))=“老人与海”>(attributeValue(属性值))

<BOOKS>(Element):元素
</BOOKS>

</BOOK>

xml规范

所有xml元素都必须有结束标签

XML标签对大小写敏感

XML必须真确的嵌套

元素名称可以包含字母,数字,或其他字符

元素名称不能以数字或者标点符号开始

元素名称中不能包含空格

解析xml的技术种类

DOM

SAX

DOM4J:开源,易用;应用于java平台,和java高度兼容,使用大量接口

DOM4j

Document接口:定义XML文档

Element接口:    定义XML元素

Text接口:           定义XML文本节点

Attribute接口:  定义XML属性

加载dom树:

先定义document文档对象。初始化为null。 再用dom4j的方法SAXReader(读取xml文档) 实例化SAXReader; document的文档名=实例化的SAXReader的名
. read() 括号中填上xml的位置

显示信息:

用getRootElement获取xml的根元素(唯一的父元素);用迭代器循环遍历。如果根元素之后有值就继续循环获取下一个值,atttibuteValue是属性值,atttibute是属性

添加信息:先获取xml文档的根元素、再使用addElement()扩号内填的是要添加的元素,要与xml中的元素一样不然,再用addAttribute()扩号内填属性和属性值,这样元素,属性,属性值就都有了;

保存(将java转成新的xml):关键点。outputFormat of=outputformat createprettyprint().固定格式,想要进行写出就必须要这段代码 of. setEncoding("utf-8")标准(解决中文乱码)XMLwriter(xml写出)我肯定是改变了xml才需要保存。所以在哪该的们就在下面加上保存的这个方法()括号后面写上保存的路径和文件名

删除:用迭代器循环遍历所有属性和属性值。if判断如果属性中的属性值等于某个属性,则用remove删除

 

Copyright © 2024 liuxin6de1b
Powered by .NET 9.0 on Kubernetes