什么是XML
XML全称为 Extensible Markup Language,意思是可扩展的标记语言。XML语法上和HTML比较相似,但HTML中的元素是固定的,而XML的标签是可以由用户自定义的。
W3C在1998年2月发布1.0版本,2004年2月又发布1.1版本,但因为1.1版本不能向下兼容1.0版本,所以1.1没人用。同时,在2004年2月W3C又发布了1.0版本的第三版。
常用的就是1.0版本。
XML应用
- 用于配置文件
<?xml version="1.0" encoding="UTF-8"?> <web-app> <servlet> <servlet-name>Servlet1</servlet-name> <servlet-class>www.baidu.com</servlet-class> </servlet> <servlet-mapping> <servlet-name>Servlet1</servlet-name> <url-pattern>/s1</url-pattern> </servlet-mapping> <servlet> <servlet-name>Servlet2</servlet-name> <servlet-class>www.csdn.net</servlet-class> </servlet> <servlet-mapping> <servlet-name>Servlet2</servlet-name> <url-pattern>/s2</url-pattern> </servlet-mapping> <servlet> <servlet-name>Servlet3</servlet-name> <servlet-class>www.alibaba</servlet-class> </servlet> <servlet-mapping> <servlet-name>Servlet3</servlet-name> <url-pattern>/s3</url-pattern> </servlet-mapping> </web-app>
C3P0中的配置文件:<?xml version="1.0" encoding="UTF-8"?> <c3p0-config> <!-- 默认配置,如果没有指定则使用这个配置 默认配置最常用 --> <default-config> <property name="driverClass">com.MysqL.jdbc.Driver</property> <property name="jdbcUrl">jdbc:MysqL://127.0.0.1:3306/day09_query</property> <property name="user">root</property> <property name="password">root</property> <property name="checkoutTimeout">30000</property> <property name="idleConnectionTestPeriod">30</property> <property name="initialPoolSize">10</property> <property name="maxIdleTime">30</property> <property name="maxPoolSize">100</property> <property name="minPoolSize">10</property> <property name="maxStatements">200</property> <user-overrides user="test-user"> <property name="maxPoolSize">10</property> <property name="minPoolSize">1</property> <property name="maxStatements">0</property> </user-overrides> </default-config> </c3p0-config>
- 用于存储数据
<?xml version="1.0" encoding="UTF-8"?> <!-- XML使用 存储一些信息 --> <persons version="1.0"> <person id="001" hehe="haha"> <name>猫猫<![CDATA[这里是特殊的,...]]]]]></name> <age>18</age> <sex>男</sex> </person> <person id="002" > <name>Washton</name> <age>18</age> <sex>雌</sex> </person> <person id="003" hehe="haha"> <name>狗子</name> <age>3</age> <sex>雄</sex> </person> </persons>
XML语法
文档声明
- 文档声明必须为<?xml开头,一?>结束;
- 文档声明必须从文档的0行0列位置开始;
- 文档声明常见的两个属性
version:指定XML文档版本。必须属性;选择1.0;
encoding:指定当前文档的编码。可选属性,默认值是utf-8;
命名规则
- 区分大小写
- 不能使用空格,不能使用冒号
- 不建议以XML、xml、Xml开头
转义字符
XML中的转义字符与HTML中一样
因为很多符号已经被XML文档结构所使用,所以在元素体或属性值中(ˇˍˇ) 想~使用这些符号就必须使用转义字符,例如 : < > ' 、 & 等等
字符 | 字符引用(十进制) | 字符引用(十六进制) | 预定义实体引用 |
< | < | < | < |
> | > | > | > |
" | " | " | " |
' | ' | ' | ' |
& | & | & | & |
CDATA区
任意内容部分可以出现 任意字符,无需转义。
<![CDATA[ 任意内容 ]]>
下一篇介绍DTD约束(Document Type Definition),顾名思义,就是用来约束XML文档的。