第1章 XML和ASP.NET开发 1
1.1 XML的祖先--SGML 1
1.2 为什么我们需要XML 2
1.3 XML的可扩展性 4
1.4 XML和HTML之间的区别 5
1.4.1 显示与描述 5
1.4.2 结束标记 6
1.4.3 元素嵌套 7
1.4.4 引用属性 7
1.4.5 大小写敏感 8
1.5 MSXML3与.NET平台的System.Xml集 8
1.6 ASP.NET开发人员如何使用XML 8
1.7 小结 9
第2章 在ASP.NET中使用XML基础 10
2.1 一个XML文档中有什么 10
2.2 格式正确的XML文档 12
2.2.1 根元素 13
2.2.2 <br>对<br/> 14
2.2.3 嵌套禁忌 15
2.2.4 其他的规则 16
2.3 有效的XML文档 17
2.4 XML声明 18
2.4.1 xml关键字 18
2.4.2 XML文档版本 19
2.4.3 编码类型 19
2.5 XML元素 20
2.4.4 standalone关键字 20
2.6 XML属性 21
2.7 XML名字空间 24
2.7.1 名字空间结构 26
2.7.2 默认名字空间 26
2.7.3 限定名字空间 28
2.8 XML处理指令 31
2.9 XML注释 32
2.10 XML实体 33
2.10.1 标准实体 33
2.10.2 字符实体 34
2.10.3 内部、外部和参数实体 35
2.11 CDATA 段 38
2.12 处理空格 39
2.13 XML与XHTML的关系 40
2.14 使用ASP.NET对象生成XML 42
2.14.1 应用程序细节 43
2.14.2 创建应用程序 43
2.14.3 应用程序小结 48
2.15 小结 48
第3章 XPath,XPointer和 XLink 49
3.1 初识XML的几个近亲 49
3.2 XPath--XML的SQL 50
3.2.1 XPath基础 51
3.2.2 XPath函数 56
3.2.3 XPath缩写实例 60
3.3 XPointer--访问XML文档片段 65
3.3.1 XPointer基础 66
3.3.2 XPointer实例 71
3.4 XLink--资源关系管理 72
3.4.1 XLink基础 73
3.4.2 XLink关键字定义 75
3.4.3 XLink属性 76
3.5 XLink简单链接 77
3.6 XLink扩展链接 78
3.7 将XLink组合起来 83
3.8 小结 84
4.1 为什么使用DTD或schema 85
第4章 理解DTD和XML schema 85
4.2 我需要验证吗 86
4.3 DTD基础 88
4.3.1 DTD的DOCTYPE 89
4.3.2 DTD元素 91
4.3.3 DTD属性 92
4.3.4 DTD实体 94
4.3.5 DTD符号 96
4.3.6 总结DTD 96
4.4 XML schema 96
4.4.1 一个XML-DR schema示例和它的DTD对应体 97
4.4.2 对XML-DR schema中的名字空间使用Schema关键字 101
4.4.3 XML-DR元素、组和属性 101
4.4.6 XML-DR总结 101
4.4.4 XML数据类型 107
4.4.5 XML-DR的description元素 109
4.5 W3C XML schema 110
4.5.1 W3C schema元素和属性 112
4.5.2 数据类型定义 112
4.5.3 创建惟一的字段、键和关系 121
4.5.4 XML schema中的名字空间支持 124
4.5.5 从XML文档内部引用XML schema 126
4.5.6 XML schema总结 127
4.6 小结 127
第5章 在ASP.NET中使用XmlTextReader和XmlTextWriter类 128
5.1 System.Xml集简介 128
5.2 In-Memory和Forward-Only解析 129
5.3 拉和推模型 131
5.4 使用XmlTextReader类解析XML 132
5.5 使用XmlTextReader构造一个SAX风格的推模型 139
5.5.1 第1步:引用集 146
5.5.2 第2步:设置处理函数 147
5.5.3 第3步:声明XmlTextReader类 147
5.5.4 第4步:初始化XmlTextReader类 148
5.5.5 第5步:从流中读 148
5.5.6 第6步:检查元素节点 149
5.5.7 第7步:检查结尾元素节点 150
5.5.8 第8步:读文本节点 150
5.5.9 第9步:操作处理指令、空格以及实体 151
5.5.11 第11步:从ASP.NET页面中调用SAX解析器 152
5.5.10 第10步:结束解析处理以及捕获错误 152
5.6 使用XmlTextReader和XmlValidatingReader验证XML文档 153
5.6.1 初始化XmlValidatingReader 154
5.6.2 设置ValidationType 154
5.6.3 使用XmlSchemaCollection类 155
5.6.4 连接事件处理程序 156
5.6.5 创建一个通用的验证类 156
5.7 使用XmlTextReader类传递认证证书 160
5.8 使用XmlTextWriter类创建XML文档 161
5.9 小结 168
第6章 使用ASP.NET编写文档对象模型(DOM) 169
6.1 欢迎使用DOM 169
6.3 通过Interop使用MSXML3 172
6.2 In-Memory解析与Forward-Only解析 172
6.4 System.Xml名字空间和封装集中的DOM类 175
6.5 XmlNode类 177
6.6 XmlDocument类 182
6.6.1 XmlDocument对象属性和方法 182
6.6.2 使用XmlDocument类装载XML文档 186
6.6.3 使用XmlDocument类创建节点 188
6.7 XmlNodeList类 192
6.8 XmlNamedNodeMap类 194
6.9 在DOM中使用XPath选择节点 196
6.10 将其组合到一起 198
6.11 XmlNodeReader类 202
6.12 XMLHTTPRequest对象 204
6.13 示例应用程序--客户/服务器端分层XML菜单 213
6.14 再访第2章的示例应用程序 219
6.15 小结 225
第7章 使用XSLT和ASP.NET转换XML 226
7.1 什么是XSLT 226
7.2 转换的过程 227
7.3 熟悉XSLT 229
7.4 XSLT语言 234
7.4.1 XSLT文档根元素 234
7.4.2 XSLT元素 235
7.4.3 使用XSLT元素将XML转换成另一种形式的XML 249
7.5 XSLT函数 258
7.6 转换XML时涉及到的.NET类 263
7.6.1 XPathDocument类 264
7.6.2 XslTransform类 266
7.6.3 XsltArgumentList类 267
7.6.4 将其组合到一起 269
7.6.5 在XSLT中使用扩展对象 272
7.7 创建一个可重用的XSLT类 278
7.8 小结 283
第8章 充分利用ADO.NET的XML功能 284
8.1 ADO.NET 284
8.2 传统ADO与ADO.NET 284
8.2.1 XML集成 284
8.2.3 脱机方式与连接方式 285
8.2.2 RecordSet对象发生了什么改变 285
8.3 ADO.NET基础 286
8.3.1 ADO.NET管理提供程序 286
8.3.2 Command类 288
8.3.3 SqlDataAdapter和OleDbDataAdapter类 296
8.4 DataSet类 298
8.4.1 以XML形式查看DataSet 302
8.4.2 使用XML装载DataSet 308
8.4.3 以XML方式保存DataSet 311
8.5 使用DataSet和XmlDataDocument类 316
8.5.1 XmlDataDocument属性和方法 320
8.5.2 使用MappingType枚举来形成DataSet列 331
8.5.3 将XSD schema映射到DataSet 334
8.5.4 使用XML创建DataSet映射 337
8.5.5 使用DataSet处理层次结构XML数据和XSLT 338
8.6 小结 342
第9章 SQL Server 2000,XML和ASP.NET 343
9.1 SQL Server 2000中的XML特性 343
9.2 使用HTTP查询SQL Server 2000 344
9.2.1 在IIS中配置SQL Server虚拟目录 344
9.2.2 使用FOR XML关键字通过HTTP查询SQL Server 2000 347
9.2.3 使用HTTP查询返回元素和schema 356
9.2.4 使用XML模板通过HTTP查询SQL Server 2000 357
9.3 使用模板、XPath和XDR schema通过HTTP查询SQL Server 2000 362
9.3.1 SQL Server 2000 schema和注解 363
9.3.2 在URL中使用XPath查询和schema 368
9.3.3 使用XPath查询,schema和模板 369
9.4 使用EXPLICIT模式查询 370
9.5 使用OPENXML操作XML 379
9.6 XML Updategrams--在ASP.NET中用XML更新、插入和删除数据库记录 384
9.7 在SQL Server 2000中使用ADO.NET 388
9.8 小结 393
第10章 使用ASP.NET,XML,SOAP和Web服务 394
10.1 理解SOAP 394
10.1.1 SOAP的几个替代者 394
10.1.2 什么是SOAP 397
10.1.3 分析SOAP的结构 398
10.1.4 SOAP envelope 401
10.1.5 SOAP标题 402
10.1.6 SOAP主体 404
10.1.7 SOAP编码和数据类型 408
10.1.8 SOAP HTTP标题 414
10.2 理解Web服务 415
10.2.1 Web服务协议(SOAP,HTTP-GET,HTTP-POST) 416
10.2.2 Web服务体系结构 418
10.2.3 Web服务属性 418
10.2.4 从ASP.NET文件中使用Web服务 432
10.3 通过Web服务检索客户订单 438
10.3.1 Web服务描述 438
10.3.2 创建ACME Distribution公司的Web服务 439
10.3.3 使用ACME Distribution公司的Web服务 441
10.4 小结 444