目录 1
第1章 在C#中使用XML的原因 1
1.1 使用XML的原因 1
1.1.1 开放性 4
1.1.2 简单性 4
1.1.3 自我描述性 4
1.1.4 互操作性 5
1.1.5 结构 5
1.1.6 分开结构和内容 5
1.1.7 可扩展性 5
1.2 什么是XML 5
1.2.1 XML涉及多种语言 5
1.3 使用XML的对象 6
1.2.2 XML文档 6
1.3.1 内容表示 7
1.3.2 B2B电子商务 8
1.3.3 远程过程调用 9
1.3.4 数据存储和访问 10
1.3.5 不使用XML的情况 10
1.4 XML标准 11
1.4.1 什么是W3C 11
1.4.2 XML标准 12
1.4.3 与XML相关的标准 12
1.4.4 标准重要的原因 13
1.5 XML如何适应.NET 13
1.5.1 在.NETFramework中使用XML 14
1.5.2.NET中的XML支持 18
1.6 小结 19
2.1 XML的概念 20
2.1.1 XML元素 20
第2章 XML概述 20
2.1.2 XML属性 21
2.1.3 XML解析器 22
2.1.4 构建XML 23
2.1.5 XML文档的各个组成部分 25
2.2 创建格式良好的XML文档 26
2.2.1 XML中的元素 26
2.2.2 XML中的属性 34
2.2.3 在XML中使用注释 38
2.3 验证XML文档的有效性 38
2.3.1 文档类型定义 39
2.3.3 XML编码 49
2.3.2 XMLSchema 49
2.4 小结 59
第3章 在.NET中使用XML 60
3.1 XML如何适合.NET 60
3.1.1 XML 60
3.1.2 文档对象模型(DOM) 61
3.1.3 命名空间 66
3.1.4 DTD和XMLSchema 70
3.1.5 XPath 71
3.1.6 XSLT 94
3.2.NETFramework使用XML 95
3.2.1 配置文件 95
3.2.2 ADO.NET 96
3.2.3 SOAP和Web服务 96
3.3 案例分析——电话簿样式应用程序 98
3.4 小结 99
第4章 在.NET中读取XML 100
4.1 流模型 100
4.1.1 流模型和DOM的比较 100
4.1.2 流模型中的变体 101
4.2 XmlTextReader类 103
4.2.1 XmlTextReader属性 107
4.2.2 读取属性 116
4.2.3 读取较大的数据块 122
4.3 XmlNodeReader类 127
4.4 XmlValidatingReader类 131
4.5 小结 135
5.1 利用.NET类编写XML文档 136
第5章 在.NET中编写XML 136
5.2 XmlWriter类 137
5.2.1 XmlWriter方法 137
5.2.2 XmlWriter属性 150
5.3 XmlTextWriter类 153
5.3.1 XmlTextWriter构造函数 153
5.3.2 XmlTextWriter属性 153
5.3.3 处理XmlTextWriter 156
5.3.4 写入较大的数据块 165
5.4 小结 172
第6章 在.NET中实现DOM 173
6.1 文档对象模型 173
6.1.1 文档对象模型与流模型 174
6.1.2.NETDOM继承模型 175
6.2.1 XmlNode的定义 179
6.2 XmlNode类 179
6.2.2 XmlNode属性 180
6.2.3 XmlNode方法 187
6.3 XmlDocument类 193
6.3.1 创建节点 193
6.3.2 加载和保存 195
6.3.3 迭代XmlDocument实例 203
6.3.4 编辑XML文档 210
6.4 案例分析 221
6.4.1 体系结构 221
6.4.2 应用程序详细信息 222
6.4.3 加载用户联系人 223
6.4.4 搜索联系人 225
6.4.5 导出联系人 226
6.4.6 导入其他联系人 227
6.5 小结 231
第7章 XPath和.NET 232
7.1 System.Xml.XPath命名空间 232
7.2.NET中的XPath类 233
7.2.1 XPathDocument类 233
7.2.2 XPathNavigator类 236
7.2.3 XPathExpression类 253
7.3 自定义导航器 256
7.4 XML串行化 258
7.4.1 如何串行化 259
7.4.2 XmlSerializer类 260
7.4.3 XmlRootAttribute类 264
7.4.4 XmlElementAttribute类 265
7.4.5 XmlAttributeAttribute类 266
7.4.6 使用多个类进行串行化 268
7.4.7 改进案例分析 270
7.5 小结 273
第8章 XSLT 274
8.1 何时使用XSLT 274
8.1.1 格式化 274
8.1.2 转换 275
8.2 XSL语言 277
8.3 使用XSL 280
8.4 XSL命名空间 282
8.5 剖析一个简单的XSL示例 283
8.5.1 添加处理指令 284
8.5.2 创建样式表 285
8.6 创建XSLT样式表 287
8.6.2 模式、匹配和模板 288
8.6.1 使用XSLT元素 288
8.6.3 高级模板 307
8.6.4 XSLT函数 326
8.6.5 XSLT和空白 328
8.7 小结 328
第9章 在.NET中使用XSLT 329
9.1.NET中的XSLT类 329
9.2 XslTransform类 330
9.2.1 载入样式表 330
9.2.2 转换样式表 334
9.2.3 使用XPathDocument使性能最优化 337
9.2.4 转换XML文档——实际示例 340
9.2.5 样式表中的脚本 349
9.2.6 XSLT中的参数 355
9.3 XsltArgumentList类 356
9.4 小结 364
第10章 XML模式——背景知识、语言和一般用法 365
10.1 XML模式(XSD)的任务 365
10.2 格式良好且有效的XML模式 366
10.3 什么是模式 367
10.4 XML模式定义语言 368
10.4.1 XSD中的元素 369
10.4.2 定义属性 376
10.5 XML模式数据类型 379
10.5.1 通用数据类型 380
10.5.2 简单类型 382
10.5.3 复杂类型 390
10.5.4 内容模型 396
10.6 模式验证技术 399
10.6.1 验证和命名空间 400
10.6.2 通过编程方式进行验证 403
10.7 内联模式 403
10.8 模式的模块化 405
10.8.1 包含模式 405
10.8.2 导入模式 407
10.8.3 模式的一般用途 410
10.9 案例分析——创建一个XSD模式 412
10.10 小结 420
第11章 XML模式和.NET 421
11.1 在VisualStudio.NET中利用模式编辑器 421
11.1.1 从XML文档中生成模式 421
11.1.2 通过编程方式验证XML 429
11.1.3 处理异常和利用ValidationEventHandler 443
11.2 XSD和用xsd.exe进行串行化 446
11.3 案例分析——改进验证操作 449
11.4 小结 456
第12章 XML在ADO.NET中的用法 457
12.1 ADO.NET概述 457
12.2.NET数据提供者 458
12.2.1 Connection类 459
12.2.2 Command类 461
12.2.3 DataReader类 461
12.2.4 DataAdapter类 462
12.2.5 CommandBuilder类 462
12.3 DataSet类 463
12.3.1 数据访问策略 463
12.3.2 在DataTable中处理数据 468
12.3.3 关联 472
12.3.4 DataSet和XML 475
12.4 XmlDataDocument类 492
12.5 小结 500
第13章 Web服务和Remoting 501
13.1 Web服务的概念 501
13.1.1 GXA——全局XML体系结构 502
13.1.2 Web服务和.NET 504
13.2 SOAP协议 505
13.3 WSDL 511
13.3.1 WSDL的用法 512
13.3.2 简单的WSDL文件 512
13.3.3 发现——DISCO 518
13.3.4 目录——UDDI 523
13.4.NETRemoting 535
13.4.1 什么是Remoting——体系结构概述 536
13.4.2 远程配置 537
13.5 案例分析和Web服务 543
13.5.1 修改当前的应用程序 544
13.5.2 创建Web服务 547
13.5.3 测试Web服务 548
13.6 小结 549
第14章 案例分析:一个简单的新闻门户网站 550
14.1 应用程序概述 550
14.2 应用程序的体系结构 551
14.3 业务层 554
14.4 表示层 555
14.5 部署 555
14.6 利用新闻门户网站应用程序 557
14.6.1 安全性和提供者注册 558
14.6.2 容管理 560
14.6.3 内容管理的工作原理 562
14.6.4 contentManager.aspx 562
14.6.5 contentManager.aspx.cs 567
14.7 主页面 578
14.7.1 主页面的工作原理 579
14.7.2 浏览内容 584
14.7.3 今天发布什么类型的新闻 587
14.7.4 SQLXML托管类 588
14.8 改进的建议 590
14.9 小结 591
附录A 模式数据类型参考 592
附录B XSL支持 607