你们好,小乐又来了,很久不见!此次接着上次可扩展标记语言XML之一:XML概念,做用,示例,继续讲述XML。编码
1)、必须有 XML 文档声明:spa
<?xml version="1.0"?> <?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" standalone="yes"?> <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
说明:
XML standalone 定义了外部定义的 DTD 文件的存在性. standalone element 有效值是 yes 和 no. 以下是一个例子:code
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <!DOCTYPE s1 PUBLIC "http://www.ibm.com/example.dtd" "example.dtd"> <s1>.........</s1>
值 no 表示这个 XML 文档不是独立的而是依赖于外部所定义的一个 DTD. 值 yes 表xml
示这个 XML 文档是自包含的(self-contained).blog
注意文本文件保存时候默认的编码格式是ANSI,需用记事本把它手动改成UTF-8保存。图片
2)、必须有且仅有一个根元素utf-8
3)、严格区分大小写element
4)、属性值用引号(双引号或单引号) :等号分开的名称-值对;在一个元素上,相同的属文档
性只能出现一次it
5)、标记成对;
6)、空标记关闭;
7)、元素正确嵌套。
1)、名称中能够包含字母、数字或者其余可见字符;
2)、名称不能以数字开头;
3)、不能以 XML/xml/Xml…开头;
4)、名称中不能含空格;
5)、名称中不能含冒号(注:冒号留给命名空间使用)
实体叫 ENTITY,实体的做用是避免重复输入。做用至关于宏或者变量。
1)内置的 5 种实体
实体 符号
< <
& &
" "
' '
2)自定义实体
<!DOCTYPE 根元素[ <!--实体声明--> <!ENTITY 实体名 "实体内容"> ]> 使用已定义的实体:&实体名; <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE sxt[ <!--实体声明--> <!ENTITY xm "明明"> <!ENTITY gen "保密"> ]> <sxt> <teacher> <name>明明</name> <gender>保密</gender> </teacher> <!--引用实体的方法--> <teacher> <name>&xm;</name> <gender>&gen;</gender> </teacher> </sxt>
文档类型定义——DOCTYPE,文档类型声明,紧跟 XML 声明以后,包含全部实体声明
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE 根元素标记名[ <!--实体声明--> ]>
全部的 XML 文档(以及 HTML 文档)均由如下简单的构建模块构成:
元素
属性
实体
PCDATA
CDATA
CDATA 节(character data)
用于把整段文本解释为纯字符数据而不是标记的状况。如包含大量的<、>、&、或者"
字符。CDATA 节中的全部字符都会被当作元素字符数据的常量部分,而不是 XML 标记,
能够输入除]]>外任意字符,不能嵌套。
<![CDATA[ ...... ]]>
PCDATA 的意思是被解析的字符数据(parsed character data)。 可把字符数据想象为 XML 元素的开始标签与结束标签之间的文本。
PCDATA 是会被解析器解析的文本。这些文本将被解析器检查实体以及标记。
文本中的标签会被看成标记来处理,而实体会被展开。
不过,被解析的字符数据不该当包含任何 &、< 或者 > 字符;须要使用 &、< 以及 >
的内置实体来分别替换它们。