什么是XML?
XML,可扩展标记语言。XML语言出现的根本目标在于如何准确有效的描述有关系的数据。Xml技术是w3c组织发布的,目前推荐遵循的是W3C组织于2000发布的XML1.0规范。W3C并非一个由官方所批准的标准组织,它的成员由IBM、Microsoft这样的公司所组成。W3C只是发布推荐标准,但是由于该组织自身的权威性往往成为事实上的标准。
XML和HTML的区别
1 | HTML例子 |
XML的作用
1.数据存储:可以使用XML文件存储数据。
2.信息配置:XML技术除用于保存数据之外,它还经常用作软件配置文件,在web开发中,到处可见XML配置文件,web项目web.xml,Struts2、Hibernate、Spring都使用XML做配置。
3.数据交换:通过网络交换数据的时候,XML是最佳方案,因为任何的语言的都支持XML的生成以及解析。微信支付有用到。
语法规则
1 | <?xml version="1.0" encoding="ISO-8859-1"?> |
(1).xml的第一行一定是xml的定义,包括版本和字符编码。
(2)note称为根元素(节点),一个xml必须有并且只有一个根元素。
(3)所有 XML 元素都须有关闭标签|结束标签 。
(4)标签对大小写敏感。
(5)必须正确地嵌套。
(6)
(7)属性值须加引号。
XML约束
在XML技术里,可以编写一个文档来约束一个XML文档的书写规范,这称之为XML约束。
为什么需要XML约束?
对于一个格式良好的XML文档,我们只能保证这个文档的格式符合XML规范,但是元素与元素的关系、元素与属性的关系,属性的取值是否正确,我们就无法得知了。如果仅仅是在有限的应用中使用,或者作为配置文件,数据的存储传输,它是能很好的满足我们的应用。但是作为和其他应用的数据交换,就有必要提供一种机制,保证XML文档结构,元素与元素之间的关系,属性的取值是否符合要求了。
两种约束
1.DTD(Document Type Definition),全称为文档类型定义吗,功能有限,现在不用了。
2.Schema,功能强大,DTD的替代者。
相对DTD而言,XML Schema具有如下优势:
1.XML Schema 基于 XML 编写,可读性更好。
2.支持为元素内容或属性值指定数据类型,功能更完善,更强大。
3.可针对未来的需求进行扩展。
4.XML Schema 支持命名空间。
5.XML Schema 是 W3C 标准。
XML解析的API –jar包
XML解析需要包jar包
(1)JAXP: sun公司提供的API
(2)jdom: 一个解析XML的开源框架,解析XML很方便.里面大多数都是抽象类和类。
(3)dom4j: 一个解析XML的开源框架,解析XML很方便.里面大多数都是接口,比jdom更加灵活。
(4)JAXB解析 : Java API For XML Binding,JDK 5的时候自动的一个API,能够自动实现XML和Java对象的转换。
DOM4J操作XML案例
1 | package com.lx; |