- 什么是XML
- 可扩展标记语言(Extensible Markup language),可以根据自己的需要扩展XML,XML中可以轻松定义, 和自定义标签
- 它可以跨越互联网任何的平台,不受编程语言和操作系统的限制,拥有互联网最高级别通行证的数据携带者,
- 主要用于数据的存储和从一个系统到另一系统的数据传输
- 特点
- xml与操作系统、编程语言的开发平台都无关
- 实现不同系统之间的数据交互
- 作用
- 配置应用程序(servlet 配置,框架环境配置等)和网站
- 数据交互
- Ajax基石
- XML和HTML的区别
- XML基础语法
- 文档结构
- 必须有XML声明语句 (第一行)
- 必须有且仅有一个根元素(开头和结尾都要放一个根元素),根元素是其他元素的父类
- 做好注释和属性
- 元素标签成对
- 元素正确嵌套
- 文档内容
- 标签:是一对<>引起来的内容叫做标签,标签有开始有结束(也可以有自闭合标签),后标签会多一个/
- 属性:属性的形式为属性名=属性值;存在与标签中,一个标签中可以存在多个属性
- 元素:从开始标签到结束标签作为一个整体
- 实体
- 实体是对数据的引用;根据实体种类的不同,XML 解析器将使用实体的替代文本或者外部文档的内容来替代实体引用
- 5个预定义的实体引用
- <:小于
- >:大于
- &:和号
- &apos:省略号'
- ":引号"
- 文档结构
- 文档约束
- 在XML技术里,可以编写一个文档来约束一个XML文档的书写规范(与xml语法无关),这称之为XML约束。此举主要是为了保证数据的规范性和安全性
- DTD约束
- 包含内容
- 元素的定义规则
- 元素之间的关系规则
- 属性的定义规则
- 内部导入
- 定义根元素:!DOCTYPE poem
- 定义根元素的内容:!ELEMENT poem()
- 定义属性和元素
- 外部导入
- 当验证的XML文件较多时,使用内部DTD可能出现冗余,此时可以通过引入dtd 文件进行xml 约束
- <!DOCTYPE 根元素 SYSTEM "文件名">
- SYSTEM 本地文件系统
- PUBLIC DTD文件为网络文件,url
- <!DOCTYPE mapper
- PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
- 包含内容
- Schema约束
- Schema是用一套预先规定的xml元素和属性创建的,这些元素和属性定义了xml文档的结构和内容模式
- XML解析
- DOM
- 基于XML树结构
- 比较耗资源
- 适用于多次访问XML
- SAX
- 基于事件
- 消耗资源小
- 适用于数据量较大的XML
- JDOM
- 比DOM块
- JODM仅使用具体类而不适用接口
- DOM4J
- 非常优秀 java xml API
- 性能优异功能强大
- 开放源代码
- java操作
- 获得document 对象
- SAXReader reader=new SAXReader()
- Document document=reader.read(new File("input.xml"))
- 操作xml文档节点
- Element rootElm=document.getRootElement();//获得根节点
- Element memberElm=root.element("member"); //获得子节点
- String text=memberElm.getText();//获得节点文本
- Element ageElm=newMemberElm.addElement("age");//添加子节点
- ageElm.setText("29");//设置节点文本
- parentElm.remove(childElm);//)删除某节点
- DOM
- XPath
- XPath 是一门在 XML 文档中查找信息的语言。XPath 用于在 XML 文档中通过元素和属性进行导航
- XPath 使用路径表达式在 XML 文档中进行导航;XPath 包含一个标准函数库;XPath 是 XSLT 中的主要元素;XPath 是一个 W3C 标准
- XPath语法
- nodename:选取此节点的所有子节点
- /:从根节点选取
- //:从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置
- .:选取当前节点
- ..:选取当前节点的父节点
- @:选取属性