***XML语法树状图***
【XML 文档
【序言
【处理命令
【注释
【DTD 样式
【文档节点
【元素
【属性
【文本
【CDATA
【实体
【注释
必须有 XML 生命语句
<?xml version="1.0" standalone="yes/no" encoding="UTF-8" ?>
<="
version 属性表示 XML 的版本 必须小写
encoding 属性表示 该文档所使用的的字符集
standalone 属性 两个值:yes | no
如果 XML 文档没有引用其他任何文件 则可以指定 standalone=yes
引用了其他描述该文档可以包含什么的文件 可以指定 standalone=no
默认 standalone=no 所以很少见到 standalone
如果同时设置了 encoding 和 standalone 属性
则 standalone 属性要位于 encoding 属性之后
">
【注意大小写 XML 严格区分大小写
【所有的 XML 文档必须有且只有一个根元素
【属性必须使用引号
【所有的标识必须有相应的结束标识
【所有的空标识必须被关闭
空标签两种写法:
1、<title />
2、<title></title>
【标识必须正确嵌套
【解释器会保留标记以内的所有空白字符
【标签均可自定义
【标签内的属性均可自定义
<元素名 属性名="属性值" />
属性引发的问题:
属性不能包含多个值(子元素可以)
属性不容易扩展
属性不能够描述结构(子元素可以)
属性很难被程序代码处理
属性值很难通过 DTD 进行测试
属性规则
属性由 名称和数值 组成
属性值必须封装在单引号或双引号中
属性中不能含有 XML 标签
属性名称必须遵循 XML 命名规则
注释
<!-- 这里是注释信息 -->
字符引用
以 &# 开始 以 分号 结束的引用都是字符引用
中间是所需字符的 Unicode 编码
十六进制编写需在前面加个 x
<®> <®>
实体引用
允许在元素内容或属性值中插入任何字符串
在合法的 XML 名字前加 & 后面加 分号
应用:特殊字符
命名空间
命名空间的声明一般放置在元素的开始标签(根标签)
格式:属性名:标签名=“URL” fruit:td苹果</fruit:td>
特殊字符:
< | < |
---|---|
> | > |
and & | & |
" | " |
’ | ' |
命名规则:
名字中可以包含字母、数字
名字不能以数字或"_"开头
名字不能以字母 XML 或 xml 。。。开头
名字中间不能有空格
良好的 XML 文档:
语法合乎 XML 规范
元素构成一个层次树 只有一个根节点
除非提供了 DTD 否则没有外部实体引用
例子:
<?xml version="1.0" encoding="GB2312" ?>
<!-- 外部 DTD 引用 -->
<!-- 格式: <!DOCTYPE Shop SYSTEM "dtdPath"> -->
<Shop>
<BOOK BOOKID="B001">
<BOOKNAME>英语</BOOKNAME>
<WRITERFIRSTNAME>汤姆</WRITERFIRSTNAME>
<WRITERLASTNAME>张三</WRITERLASTNAME>
<PRICE>$20.00</PRICE>
</BOOK>
</Shop>
来自《XML编程与应用教程(第2版)》自行整理的笔记