java操作XML---XML基础知识
一:什么是XML
XML是一种可扩展标记语言(EXtensible Markup Language),它和HTML很类似,却又有些不同。
二:XML的特点
1. XML语言是区分大小写的<a>和<A>是两种不同的标签元素。
2. XML没有预定义的标签,所有标签都是自定义的。
3. XML被设计为具有自我描述性。
4. XML是 W3C 的推荐标准。
三:XML语法
这是一段xml文本。
1 <?xml version="1.0" encoding="utf-8"?> <!--这是xml的申明,必须放在文件的第一行第一列--> 2 <students> <!--这是根元素,有且仅有一个根元素--> 3 <student> 4 <id>100</id> 5 <name>张三</name> 6 </student> 7 <student> 8 <id>101</id> 9 <name>李四</name> 10 </student> 11 </students>
语法说明:
1.第一行是xml申明,它定义了xml的版本信息和编码信息(分别通过version和encoding属性设置)。xml申明必须放在文件的第一行,第一列。
2.第二行是xml根元素。xml中必须有且仅有一个根元素。
3.其他是根元素下的子孙元素。
4.xml中的元素必须关闭。有开始标签必须的有关闭标签。
5.xml是区分大小写的。
6.元素及属性的命名只能以字母(包括中文等)开始,不能以数字及下划线开始,不能包含空格,不能以字符 “xml”(或者 XML、Xml)开始。最好不要包含 点(.),冒号(:)以及破折号(-)。
7.xml属性的值必须加英文格式的引号。
8.xml中空格回车换行会被保留,这和HTML有很大的不同(HTML只保留一个空格)。
四:xml中的转义字符
xml中有5个预定义的转移字符 小于号(<),大于号(>),和号(&),单引号(’),双引号(”)。
五:xml的dtd约束
1.xml文件导入本地dtd约束
语法: <!DOCTYPE 根元素名称 SYSTEM “本地dtd文件路径”>
实例:<!DOCTYPE students SYSTEM "my.dtd">
2.xml文件导入网络dtd约束
语法:<!DOCTYPE 根元素名称 PUBLIC “网络dtd文件地址”>
实例:<!DOCTYPE students PUBLIC "http://xxx.com/xxx/xxx.dtd">
六:xml的schema约束
1.schema约束文件就是一个xml。
根节点必须是schema
xmlns:固定值:http://www.w3.org/2001/XMLSchema 表示它是一个约束文件
targetNamespace:约束文件的地址,一般是一个url地址,这里示例为:http://www.xxx.com
<?xml version="1.0" encoding="utf-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.xxx.com">
......
</schema>
2.xml文件引入schema约束
语法:<根元素 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="targetNamespace" xsi:schemaLocation="targetNamespace schema文件名称.xsd">
xmlns:xsi:这里的xsi是一个别名,可以使用任意名称,这里只是为了和xmlns属性区分,保持属性值唯一性。
这个属性的值是一个固定值:http://www.w3.org/2001/XMLSchema-instance
instance表示这个xml文件不是一个schema约束
xmlns:这里写入schema的targetNamespace内容
xsi:schemaLocation:schema文件的地址:包括 targetNamespace+空格+schema文件名称
实例:<students xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.xxx.com" xsi:schemaLocation="http://www.xxx.com xxx.xsd">