01XML文档结构
文档结构
2.1文档结构
2.1.1文档声明及字符编码
<?xml version=“1.0” encoding=“”gb2312 standalone=“yes”?>
<? 告诉指令处理程序这是指令的开始
Xml version=“1.0” 表示该文件遵循XML1.0规范
Encoding=“gb2312” 表示文件可用简体中文编写
Standalone=“yes” 表示没有引用其它文件
?> 告诉指令处理程序这个指令结束
2.1.2文档注释
<!-- This is a comment -->
2.1.3处理指令(PI)
处理指令(Process Instrument)是XML分析必须扫描的指令
PI含有应用程序所使用的标记信息
PI的命令格式以”<?”开始,并以”?>”结束
<?xml stylesheet type=“text/xsl” href=“d:\mystyle.xsl”?>
2.1.4XML实体
一般实体。定义一般实体的格式为:
<!ENTITY 实体名 “文本内容”>
参数实体:只用在DTD中。其定义为:
<!ENTITY %实体名 “文本内容”>
实体使用包括两部分:实体声明和实体引用。
实体声明在DTD中完成,位于文件头之后,XML元素之前。
实体引用是指引用一个已在实体声明中声明过的一个实体,其引用形式为:&实体名
<?xml version="1.0" encoding="gb2312"?>
<!DOCTYPE 联系人列表[
<!ENTITY A公司地址 "武大樱园小区64号">
<!ENTITY B公司地址 "华科西二区128号">
]>
<联系人列表>
<联系人>
<姓名>江山</姓名>
<公司>A公司</公司>
<地址>&A公司地址;</地址>
</联系人>
<联系人>
<姓名>李红</姓名>
<公司>B公司</公司>
<地址>&B公司地址;</地址>
</联系人>
<联系人>
<姓名>王青云</姓名>
<公司>A公司</公司>
<地址>&A公司地址;</地址>
</联系人>
</联系人列表>
使用内部实体的例子:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE PersonalData [
<!ELEMENT PersonalData (Name,Tel*,Spouse?,Address+)>
<!ATTLIST PersonalData id ID #REQUIRED
sex (male|female) "male">
<!ELEMENT Name (#PCDATA)>
<!ELEMENT Tel (#PCDATA)>
<!ELEMENT Spouse (#PCDATA)>
<!ELEMENT Address (#PCDATA)>
<!ENTITY MYADDRESS "Zhengzhou city">
]>
<PersonalData id="idrequired">
<Name >Larry</Name>
<Tel>89342324</Tel>
<Tel>097323423</Tel>
<Spouse>Irene</Spouse>
<Address>&MYADDRESS;</Address>
</PersonalData>
2.1.5元素及属性
<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
<book category="COOKING">
<title lang="en">Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>
<book category="CHILDREN">
<title lang="en">Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
<book category="WEB">
<title lang="en">Learning XML</title>
<author>Erik T. Ray</author>
<year>2003</year>
<price>39.95</price>
</book>
</bookstore>
最新文章
- ASP.NET Core中如影随形的&rdquo;依赖注入&rdquo;[下]: 历数依赖注入的N种玩法
- html5吹牛扯淡篇,闲话内容。
- javascript类型系统——正则表达式RegExp类型
- 也谈自动化平台的搭建,另附高大上的名字---无人值守定时巡检系统(selenium+testng+ant+jenkins)
- [抓紧小长假的尾巴] 分析一个KeyFileMe
- 咏南IOCP中间件支持海量并发方案(集群)
- flex4的s:states和mx:states的区别
- Linux下使用popen()执行shell命令
- 一步一步重写 CodeIgniter 框架 (3) —— 用面向对象重构代码
- H3 BPM报销流程开发示例
- 用vue实现简单分页
- BSGS算法(大步小步算法)
- leetcode — combinations
- 算法手记(2)Dijkstra双栈算术表达式求值算法
- mysql批量插入,批量更新
- JAVA的初始化顺序:
- docker 入門
- Flask 5 模板1
- ubuntu18.04安装mongoDB 4.0
- Jmeter断言实例—响应断言