1. XML:eXtensible Markup Language 可扩展的标记语言。
2. DTD:Document Type Definition,文档类型定义。
3. XML中的每个元素都是成对出现的(有开始,有结束),<student></student>,XML中的元素嵌套关系要保持正确性,即现开始的标记要先结束,后开始的标记要后结束。
4. 每一个XML 文档都有且只有一个根元素(Root Element)。所谓根元素,就是唯一一个包含了其他所有元素的元素。
5. XML描述的是文档的内容与语义,而不是文档应当如何显示。
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<students>
<student>
<name>zhangsan</name>
<id>10010</id>
<address>Hangzhou</address>
</student>
<student>
<name>lisi</name>
<id>10086</id>
<address>杭州</address>
</student>
</students>
备注:encoding和standalone顺序不能反。
6. 对于XML文档来说,<?处理指令必须要顶格写,前面不能有任何的空白。
7. XML 元素可以具有属性,属性的形式为: 属性名="属性值", 比如 gender="male" 属性值需要使用单引号或双引号括起来。多个属性使用空格分开。
8. 通过样式,我们可以实现XML内容与展现形式的分离。<?xml-stylesheet type="text/css" href="hello.css"?>
9.注释:<!-- --> 只有一种,且不能嵌套。
10.在xml中同一个属性名称不能重复。
11.DTD:用于规定文档规则
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE poem[
<!ELEMENT poem (author, title, content)>
<!ELEMENT author (#PCDATA)>
<!ELEMENT title (#PCDATA)>
<!ELEMENT content (#PCDATA)>
]>
<poem>
<author>xml</author>
<title>DTD</title>
<content>定义了一个DTD,规定了根元素是poem,里面包含3个子
元素。不可少任何一个、顺序不能乱、不能重复\元素与()之间必须有空格</content>
</poem>
12. Schema(重要)
XML Schema 是用一套预先规定的XML元素和属性创建的,这些元素和属性定义了XML文档的结构和内容模式。它规定了XML 文档实例的结构和每个元素/属性的数据类型。
Schema(模式) :其作用与 dtd 一样,也是用于验证 XML 文档的有效性,只不过它提供了比 dtd 更强大的功能和更细粒度的数据类型,另外 Schema 还可以自定义数据类型。此外,Schema 也是一个 XML 文件,而 dtd 则不是。
范例:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="cat" type="xs:string" />
<xs:element name="dog" type="xs:string" />
<xs:complexType name="myType">
<xs:sequence>
<xs:element ref="cat" />
<xs:element ref="dog" />
</xs:sequence>
</xs:complexType>
<xs:element name="pets" type="myType" />
</xs:schema>
<?xml version="1.0" encoding="UTF-8"?>
<pets xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="myschema.xsd">
<cat>hello</cat>
<dog>world</dog>
</pets>