关于XML
可扩展标记语言,与html相似,xml可以用来写html,可对对xml进行约束,它的根元素<html>
,再让<html>
元素有<head>
和<body>
。由于兼容性xml版本一直是1.0。
xml应用场景
- 保存数据
<student number="1001">
<name>zhangsan</name>
<age>23</age>
</student>
- 配置文件
<servlet>
<servelet-name>MyServlet</servlet-name>
<servlet-class>cn.xxx.MyServlet</servlet-class>
</servlet>
- -
xml是语法结构
- xml的文档声明
- 元素:
<a>xxx</a>
- 实体
- CDATA段
文档声明
- 文档声明必须为
<?xml
开头,以?>
结尾。 - 文档声明必须从文档的0行0列位置开始。
- 文档声明只有三个属性:
- version: 指定XML文档版本,必须属性,一般只会选择1.0。
- encoding: 指定当前文档的编码。可选属性,默认值是utf-8。
- standalone: 指定文档的独立性。可选属性,默认值为yes,表示当前文档是独立文档。如果为no表示当前文档不是独立的文档,会依赖外部文件。
元素
- 结构:开始标签、元素体、结束标签。例如:
<hello>world</hello>
- 空元素结构:开始标签、没有元素体和结束标签,例如:
<hello/>
元素体内容可以使文本,也可以是子元素!例如:<a><b><c>hello</c></b></a>
不能出现错误嵌套。
属性
属性是元素的部分,他只能出现在元素的开始标签中,一个元素可有0~n个属性,其中属性的结构:属性名=“属性值”,其中属性值必须使用单引或者双引。多个属性中间用逗号分隔。
<student number="xxx" name="zhangsan" age="23"/>
<student number="xx">
<name>.....</name>
</student>
注释
以<!--
开头,以-->
结束,其中的内容是不会被解析器读取的。不能以--->
结束。
转义字符和CDATA段
特殊字符:
字符 | 字符引用(十进制) | 字符引用 | 预定义实体引用 |
---|---|---|---|
< | <; | c; | <; |
> | >; | e; | >; |
“ | "; | ; | "; |
‘ | '; | ; | &apos; |
& | &; | ņ; | &; |
这些特殊字符需要转义,如果有很多特殊字符,可以放到CDATA段中,CDATA段中的特殊字符不需要转义。
<name><name></name>
CDATA
<code>
<![CDATA[
String name="hello";
int a=10;
if(a > 100 && a < 100)
{
}
]]>
</code>
处理指令
告诉解析器如何解析xml文档。
格式良好的xml
- 必须有xml文档声明
- 不能无理嵌套
- 属性必须使用单引或者双引
- 属性和元素的名字:字母、数字、下划线、减号。但其中数字不能开头。