第1章 XML概述 1
1.1 标记语言概述 2
1.1.1 标记语言的类型 2
1.1.2 标记语言的历史 3
1.2 XML的基础知识 4
1.2.1 XML的概念 4
1.2.2 XML的特点 5
1.2.3 XML的用途 6
1.3 XML与HTML语言 7
1.3.1 语法要求不同 7
1.3.2 标记不同 7
1.3.3 作用不同 8
1.3.4 其他不同 8
1.4 XML的相关技术 9
1.4.1 W3C组织 9
1.4.2 技术标准 9
1.5 XML的优势 12
1.5.1 技术优势 12
1.5.2 商业优势 14
1.6 XML的应用领域 15
1.6.1 电子商务 15
1.6.2 网络出版 16
1.6.3 移动通信 16
1.6.4 Web服务 16
1.6.5 Web集成 17
1.6.6 配置文件 17
1.6.7 分布式计算 17
1.6.8 前景观望 18
1.7 XML开发工具 18
1.8 实战——XML文档引入CSS文件 19
1.9 思考与练习 21
第2章 XML入门 23
2.1 XML文档 24
2.1.1 XML文档构成 24
2.1.2 XML文档声明 25
2.1.3 XML文档注释 26
2.1.4 XML处理指令 27
2.2 XML元素和标记 28
2.2.1 元素和标记 28
2.2.2 元素定义 30
2.2.3 元素特性 31
2.3 XML元素属性 32
2.3.1 属性的使用 32
2.3.2 元素和属性 33
2.4 XML中的字符和实体 34
2.4.1 实体概述 35
2.4.2 CDATA文本段 36
2.4.3 文档规范 37
2.5 XML命名空间 38
2.5.1 命名空间概述 38
2.5.2 自定义命名空间 38
2.5.3 命名空间的特点 41
2.5.4 默认的命名空间 42
2.6 实战——系统用户信息管理 42
2.7 本章习题 44
第3章 XML与DTD 47
3.1 DTD简介 48
3.1.1 DTD概述 48
3.1.2 DTD的构成 48
3.1.3 DTD文档定义 49
3.2 元素声明 51
3.2.1 元素声明简介 51
3.2.2 元素声明分类 52
3.3 属性 55
3.3.1 属性声明 55
3.3.2 属性类型 56
3.3.3 属性附加声明 61
3.4 实战——水果信息DTD 63
3.5 DTD引用 64
3.5.1 引用内部DTD 64
3.5.2 引用外部DTD 65
3.5.3 混合引用DTD 65
3.6 实体声明与引用 66
3.6.1 实体的概念与分类 66
3.6.2 内部普通实体 68
3.6.3 外部普通实体 70
3.6.4 参数实体 73
3.7 实战——衣帽配饰信息管理 74
3.8 本章习题 76
第4章 XML与XSD 79
4.1 了解XSD技术 80
4.1.1 XSD的概念 80
4.1.2 XSD的好处 80
4.1.3 XSD与DTD 82
4.1.4 制定XSD文档 82
4.2 XSD的构成元素 83
4.2.1 XSD的元素 83
4.2.2 创建根元素 84
4.2.3 创建简单元素 86
4.2.4 简单类型元素 87
4.2.5 限定数据约束 89
4.2.6 创建属性元素 92
4.2.7 创建复合元素 93
4.2.8 指示器 97
4.2.9 any和anyAttribute元素 100
4.3 XSD的数据类型 101
4.3.1 字符串数据类型 101
4.3.2 日期和时间数据类型 102
4.3.3 数值数据类型 104
4.3.4 其他数据类型 106
4.4 XSD的常用验证工具 106
4.4.1 XMLWriter工具 106
4.4.2 XMLSpy工具 109
4.5 实战——通过代码验证XML文档 110
4.6 思考与练习 114
第5章 XPath和XQuery语言 117
5.1 XSL常用标记 118
5.2 XPath简介 120
5.3 XPath定位技术 121
5.3.1 路径表达式 122
5.3.2 XPath轴 126
5.3.3 节点测试 129
5.3.4 XPath运算符 131
5.4 XPath函数 133
5.4.1 String类函数 133
5.4.2 Number类函数 134
5.4.3 Boolean类函数 135
5.4.4 Node-Set类函数 137
5.5 XQuery技术 138
5.5.1 XQuery简介 138
5.5.2 XQuery表达式基础 139
5.5.3 FLWOR表达式 141
5.5.4 XQuery函数 142
5.6 实战——数码信息显示 143
5.7 本章习题 145
第6章 文档显示技术 149
6.1 XSLT简介 150
6.1.1 XSL与XSLT 150
6.1.2 XSLT转换技术 151
6.1.3 CSS样式技术 155
6.2 XSLT模板 156
6.2.1 模板概述 157
6.2.2 模板匹配 158
6.2.3 子模板调用 160
6.3 XSLT基础语法 163
6.3.1 XSLT标记 163
6.3.2 简单判断 164
6.3.3 多条件判断 169
6.3.4 循环处理 171
6.3.5 输出内容的排序 171
6.4 XSLT函数 174
6.4.1 函数 174
6.4.2 Current()函数 174
6.4.3 document()函数 175
6.4.4 format-number()函数 175
6.4.5 NaN值 176
6.5 在XSLT中使用CSS 176
6.6 实战——网购信息显示 178
6.7 本章习题 180
第7章 XLink和XPointer技术 183
7.1 XLink基础知识 184
7.1.1 XLink介绍 184
7.1.2 XLink语法 184
7.1.3 XLink属性 185
7.2 XML的链接类型 186
7.2.1 XML链接介绍 187
7.2.2 简单链接 187
7.2.3 扩展链接 190
7.2.4 扩展链接的类型 191
7.2.5 扩展链接示例 195
7.2.6 外联链接 197
7.3 XPointer基础知识 199
7.3.1 XPointer介绍 199
7.3.2 XPointer形式 199
7.3.3 位置路径和集合 201
7.3.4 位置步 201
7.3.5 XPointer示例 204
7.4 XPointer对XPath的扩展 205
7.4.1 新增函数 205
7.4.2 点的扩展 206
7.4.3 区域扩展 206
7.5 实战——简单链接实现的图像嵌入链接 207
7.6 思考与练习 210
第8章 Web服务和WSDL技术 213
8.1 了解Web服务 214
8.1.1 Web服务介绍 214
8.1.2 Web服务的技术支持 215
8.1.3 查看和创建Web服务 216
8.2 认识WSDL技术 219
8.2.1 WSDL概述 219
8.2.2 WSDL的基本结构 220
8.2.3 创建definitions元素 222
8.2.4 创建types元素 223
8.2.5 创建message元素 224
8.2.6 创建portType元素 225
8.2.7 创建binding元素 226
8.2.8 创建service元素 227
8.3 WSDL的其他知识 228
8.3.1 WSDL端口 228
8.3.2 WSDL与UDDI 229
8.3.3 WSDL的工作方式 231
8.4 实战——不同项目之间调用Web服务 232
8.5 思考与练习 235
第9章 DOM解析器操作XML文档 237
9.1 常用的4种XML解析器 238
9.1.1 DOM解析器 238
9.1.2 SAX解析器 238
9.1.3 JDOM解析器 238
9.1.4 DOM4J解析器 239
9.1.5 比较解析器 239
9.2 关于文档对象模型 240
9.2.1 XML DOM的作用 240
9.2.2 XML DOM与W3C 241
9.2.3 XML DOM的文档结构 241
9.3 常用的XML DOM的操作对象 243
9.3.1 XML DOM的加载和解析 244
9.3.2 常用的3种操作对象 246
9.3.3 了解Node对象 246
9.3.4 了解Document对象 248
9.3.5 了解Element对象 250
9.3.6 获取Attr对象 252
9.4 DOM节点类型 254
9.5 操作XML文档 257
9.5.1 动态创建XML文档 257
9.5.2 添加和删除元素节点 261
9.5.3 添加和删除属性节点 263
9.5.4 添加和修改文本节点 266
9.5.5 替换和复制节点 267
9.6 实战——读取XML文档实现级联菜单 269
9.7 思考与练习 272
第10章 SAX解析XML文档 275
10.1 了解SAX解析器 276
10.1.1 SAX解析器概述 276
10.1.2 SAX的历史版本 277
10.1.3 SAX的工作原理 278
10.1.4 SAX和DOM的区别 279
10.2 SAX解析XML文档 280
10.2.1 解析XML文档的API 280
10.2.2 SAX的监听器接口 281
10.2.3 SAX解析XML文档 282
10.3 ContentHandler接口 285
10.3.1 了解ContentHandler接口 285
10.3.2 处理文档的开始和结束 285
10.3.3 处理特殊指令 287
10.3.4 处理元素的开始和结束 288
10.3.5 处理文本数据 290
10.3.6 处理空白字符 291
10.3.7 处理命名空间 292
10.4 DTDHandler接口 293
10.4.1 处理注释声明 293
10.4.2 处理未解析实体 294
10.5 EntityResolver接口 296
10.5.1 了解EntityResolver接口 296
10.5.2 解析实体和忽略实体 296
10.6 ErrorHandler接口 298
10.6.1 了解ErrorHandler接口 298
10.6.2 解析错误信息 299
10.7 其他的监听器接口 300
10.8 实战——解析学生XML文档 302
10.9 思考与练习 307
第11章 C≠中的XML应用 311
11.1 C#中的XML应用 312
11.2 XML与DataSet的交互 312
11.2.1 DataSet对象简介 312
11.2.2 DataTable对象简介 316
11.2.3 ReadXml()读取XML 318
11.2.4 数据筛选 320
11.2.5 WriteXml()写入文件 322
11.3 System.Xml命名空间 324
11.4 XML数据类及节点类 325
11.4.1 XmlDocument类 325
11.4.2 XmlNodeList类 326
11.4.3 XmlNode类 327
11.4.4 实战——下拉框绑定XML节点 328
11.5 XML读取类 329
11.5.1 XmlReader简介 330
11.5.2 XmlReader的属性和方法 331
11.5.3 XmlReader的使用 333
11.6 XML写入类 334
11.6.1 XmlWriter简介 334
11.6.2 XmlWriter应用 337
11.7 实战——空调信息管理 339
11.8 本章习题 342
第12章 XML中的Web应用 345
12.1 XML数据源绑定控件 346
12.1.1 XmlDataSource控件 346
12.1.2 TreeView控件 348
12.1.3 GridView控件 351
12.2 XML与SQL Server转换 354
12.2.1 数据转换技术 354
12.2.2 SqlConnection对象 356
12.2.3 SqlCommand对象 357
12.2.4 SqlDataAdapter对象 359
12.2.5 将XML写入数据库 361
12.3 站点地图 363
12.3.1 站点地图简介 364
12.3.2 SiteMapPath控件 365
12.4 Web配置文件 367
12.5 实战——新闻管理 371
12.6 本章习题 374
第13章 通讯录 377
13.1 系统概述 378
13.2 系统的数据存储 378
13.3 通用模块实现 379
13.3.1 联系人实体类 379
13.3.2 公共普通函数 384
13.3.3 XML处理函数 386
13.3.4 其他代码 388
13.4 系统实现 389
13.4.1 添加联系人 389
13.4.2 查看所有联系人 391
13.4.3 修改联系人 394
13.4.4 删除联系人 395
习题答案 400