XML 语法

***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

  <&#174> <&#xAE>

实体引用
允许在元素内容或属性值中插入任何字符串
在合法的 XML 名字前加 & 后面加 分号
应用:特殊字符

命名空间
命名空间的声明一般放置在元素的开始标签(根标签)
格式:属性名:标签名=“URL” fruit:td苹果</fruit:td>

特殊字符:

<&lt;
>&gt;
and &&amp;
"&quot;
&apos;

命名规则:
名字中可以包含字母、数字
名字不能以数字或"_"开头
名字不能以字母 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版)》自行整理的笔记

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值