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删除