上午内容,主要是介绍XML相关的一些东西,
XML是用来传输数据的,是配置文件Properties,
XML:Extensible Markup Language//可扩展标记,由W3C组织提供。1.0版本
是一种存储格式,本质上是字符串
XML是利用标签来传递数据的,可以自定义标签,分为开始标签和结束标签,中间可以嵌套标签,这样可以保存数据等级关系
XML本质上是字符串,具有跨平台性,所以可以在平台间进行数据交流
XML用作配置文件,
XML语法
文档声明,可以用来声明XML的基本属性信息,解析器可以根据文档声明来决定如何解析这个XML
注意:一个XML文档只能有一个文档声明且必须放在XML的第一行,如果没有XML文档声明不是良好的文档,
Version指定XML文档所遵循的XML版本
encoding属性用来通知解析器用什么编码,要求用的编码必须和XML保存时的编码一致
元素:
一个标签就是一个元素
所谓表前提就是开始标签和结束标签中间的文本
自闭标签:不包含标签体和其他文本,将开始标签和结束标签合并
根标签:一个XML只有一个根标签
标签可以有子标签,也可以嵌套,但是不能出现交叉嵌套
XML元素的命名规则:
区分大小写
不能以数字和标点开头
不能以XML开头
不能含空格
不能包含冒号
属性
一个标签可以有多个属性,用空格隔开,属性的值必须要用单引号或者双引号括起来
属性的命名规则和元素一样
XML解析
方式有两种SAX和Dom
解析开发包:jaxp jdom dom4j
dom4j是简单易用,功能强大
步骤:
一。创建book.xml
二。导包
案件开发:快捷键
快速接收返回值:alt+shift+l
快速抽取方法:alt+shift+m
案例
读取第一本书的书名的解题思路:
创建解析器
将XML文档解析成Document对象
获取根元素
获取第一本书
获取第一本书的书名元素
获取书名
输出
查询第二本书的售价并输出
创建解析器
获取Document对象
获取根元素
获取根元素下所有元素
获取第二本书
获取售价节点
获取售价
输出
创建Utils
创建解析器
获取Document对象
给第一本书添加一个特价节点
获取dom
获取根并获取第一本书
方法一
方法二:
创建一个游离的element
将document对象写到XML中
给第二本书在作者的节点前插入一个特价
在工具类加入方法:
publicstaticvoid write2xml(Document dom,String xmlPath){
try {
//将document对象写到xml中
XMLWriter writer = new XMLWriter(
new FileOutputStream(new File(xmlPath)),
OutputFormat.createPrettyPrint());
writer.write(dom);
writer.close();
} catch (Exception e) {
e.printStackTrace();
}
}
代码为:
//获取dom
Documentdom = XMLUtils.getDom("book.xml");
//获取第二本书
ElementbookEle2 = (Element) dom.getRootElement().elements().get(1);
//创建游离元素
Elementprice2 = DocumentHelper.createElement("特价");
price2.setText("8.8元");
//获取第二本书的list
Listlist = bookEle2.elements();
list.add(1, price2);
//写入xml
XMLUtils.write2xml( dom , "book.xml" );