第1章 在VB.NET中使用XML的原因 1
1.1 使用XML的原因 1
目录 1
1.1.1 开放性 4
1.1.2 简单性 4
1.1.3 自描述性 5
1.1.4 互操作性 5
1.1.5 结构 5
1.1.6 分开结构和内容 5
1.1.7 可扩展性 5
1.2 XML的定义 5
1.2.2 XML文档 6
1.2.1 XML涉及多种语言 6
1.3 使用XML的领域 7
1.3.1 内容表示 7
1.3.2 企业对企业电子商务 8
1.3.3 远程过程调用 9
1.3.4 数据存储和访问 10
1.3.5 不使用XML的情况 11
1.4 XML标准 11
1.4.1 万维网联盟 12
1.4.2 XML标准 12
1.4.3 与XML相关的标准 12
1.4.4 标准重要的原因 13
1.5.1 在.NET Framework中使用XML 14
1.5 XML如何适应.NET 14
1.5.2 .NET中的XML支持 19
1.6 小结 20
第2章 XML概述 21
2.1 XML的概念 21
2.1.1 XML元素 21
2.1.2 XML特性 22
2.1.3 XML解析器 23
2.1.4 构建XML 24
2.1.5 XML文档的各个组成部分 26
2.2 创建格式良好的XML文档 27
2.2.1 XML文档中的元素 27
2.2.2 XML文档中的特性 35
2.3 验证XML文档的有效性 39
2.2.3 在XML中使用注释 39
2.3.1 文档类型定义 40
2.3.2 XML Schema 50
2.3.3 XML编码 51
2.4 小结 61
第3章 在.NET中使用XML 62
3.1 XML如何适合.NET 62
3.1.1 XML 62
3.1.2 文档对象模型(DOM) 63
3.1.3 命名空间 68
3.1.4 DTD和XML Schema 72
3.1.5 XPath 73
3.1.6 XSLT 95
3.2.1 配置文件 96
3.2 .NET Framework使用XML 96
3.2.2 技术文档 97
3.2.3 ADO.NET 98
3.2.4 SOAP和Web服务 98
3.3 案例分析——电话簿样式应用程序 100
3.4 小结 101
第4章 在.NET中读取XML 102
4.1 流模型 102
4.1.1 流模型和DOM 102
4.1.2 流模型中的变量 103
4.2 XmlTextReader类 105
4.2.1 XmlTextReader属性 109
4.2.2 读取特性 118
4.2.3 读取较大的数据块 123
4.3 XmlNodeReader类 128
4.4 XmlValidatingReader类 132
4.5 小结 135
第5章 在.NET中编写XML 137
5.1 利用.NET类编写XML文档 137
5.2 XmlWriter类 138
5.2.1 XmlWriter方法 138
5.2.2 XmlWriter属性 152
5.3 XmlTextWriter类 154
5.3.1 XmlTextWriter构造函数 154
5.3.2 XmlTextWriter属性 155
5.3.3 使用XmlTextWriter 157
5.4 小结 174
6.1 文档对象模型(DOM) 175
第6章 在.NET中实现DOM 175
6.1.1 文档对象模型与流模型 176
6.1.2 .NET DOM继承模型 177
6.2 XmlNode类 181
6.2.1 XmlNode的定义 181
6.2.2 XmlNode属性 182
6.2.3 XmlNode方法 189
6.3 XmlDocument类 195
6.3.1 创建节点 196
6.3.2 加载和保存 197
6.3.3 迭代遍历XmlDocument实例 206
6.3.4 编辑XML文档 213
6.4 案例分析 223
6.4.1 体系结构 224
6.4.2 应用程序详细信息 225
6.4.3 加载用户联系人 226
6.4.4 搜索联系人 228
6.4.5 导出联系人 229
6.4.6 导入其他联系人 230
6.5 小结 234
第7章 XPath和.NET 235
7.1 System.Xml.XPath命名空间 235
7.2 .NET中的XPath类 236
7.2.1 XPathDocument类 236
7.2.2 XPathNavigator类 239
7.2.3 XPathExpression类 256
7.3 自定义导航器 260
7.4 XML串行化 262
7.4.1 如何进行串行化 263
7.4.2 XmlSerializer类 264
7.4.3 XmlRootAttribute类 268
7.4.4 XmlElementAttribute类 269
7.4.5 XmlAttributeAttribute类 270
7.4.6 使用多个类进行串行化 272
7.4.7 改进案例分析 274
7.5 小结 277
第8章 XSLT 278
8.1 XSLT 278
8.1.1 何时使用XSLT 278
8.1.2 XSL语言 281
8.1.3 使用XSL 284
8.1.4 XSL命名空间 287
8.1.5 剖析一个简单的XSL示例 287
8.2 创建XSLT样式表 292
8.2.1 使用XSLT元素 292
8.2.2 模式、匹配和模板 292
8.2.3 高级模板 311
8.2.4 XSLT函数 331
8.2.5 XSLT和空白 333
8.3 小结 333
第9章 在.NET中使用XSLT 334
9.1 .NET中的XSLT类 334
9.1.1 XslTransform类 335
9.1.2 XsltArgumentList类 360
9.2 小结 368
10.1 XML模式(XSD)的任务 369
第10章 XML模式——背景知识、语言和一般用法 369
10.2 格式良好且有效的XML模式 370
10.3 模式的定义 372
10.4 XML模式定义语言 373
10.4.1 哪些元素可以显示 373
10.4.2 定义特性 381
10.5 XML模式数据类型 384
10.6 模式验证技术 405
10.6.1 验证和命名空间 406
10.6.2 通过编程方式进行的验证 409
10.7 内联模式 409
10.8.1 包含模式 411
10.8 模式模块化 411
10.8.2 导入模式 414
10.8.3 模式的一般用途 416
10.9 案例分析——创建XSD模式 419
10.10 小结 427
第11章 XML模式和.NET 428
11.1 在Visual Studio.NET中利用模式编辑器 428
11.1.1 根据Ⅺ文档生成模式 428
11.1.2 通过编程方式验证XML 436
11.1.3 处理异常和利用ValidationEventHandler 450
11.2 XSD和用xsd.exe进行串行化 453
11.3 案例分析——改进验证操作 457
11.4 小结 463
12.1 ADO.NET概述 464
第12章 XML在ADO.NET中的用法 464
12.2 .NET数据提供者 465
12.2.1 Connection类 466
12.2.2 Command类 468
12.2.3 DataReader类 468
12.2.4 DataAdapter类 469
12.2.5 CommandBuilder类 469
12.3 DataSet类 470
12.3.1 数据访问策略 471
12.3.2 在DataTable中处理数据 475
12.3.3 关系 479
12.3.4 DataSet和XML 483
12.4 XmlDataDocument类 500
12.5 小结 507
第13章 Web服务和Remoting 509
13.1 Web服务的定义 509
13.1.1 GXA——全局XML体系结构 510
13.1.2 Web服务和.NET 513
13.2 SOAP协议 513
13.3 WSDL 520
13.3.1 WSDL的用法 521
13.3.2 简单的WSDL文件 521
13.3.3 发现——DISCO 527
13.3.4 目录——UDDI 532
13.4 .NET Remoting 544
13.4.1 什么是Remoting——体系结构概述 545
13.4.2 远程配置 546
13.5 案例分析和Web服务 552
13.5.1 修改当前的应用程序 553
13.5.2 创建Web服务 555
13.5.3 测试Web服务 556
13.6 小结 558
第14章 案例分析:一个简单的新闻门户网站 559
14.1 应用程序概述 559
14.2 应用程序的体系结构 560
14.3 业务层 564
14.4 表示层 564
14.5 部署 565
14.6 使用新闻门户网站应用程序 567
14.6.1 安全性和提供者注册 567
14.6.2 内容管理 569
14.6.4 contentManager.aspx 572
14.6.3 内容管理的工作原理 572
14.6.5 contentManager.aspx.vb 577
14.7 主页 587
14.7.1 主页的工作原理 588
14.7.2 浏览内容 593
14.7.3 今天我们要发布什么类型的新闻 596
14.7.4 SQLXML托管类 597
14.8 改进的建议 599
14.9 小结 600
附录A 模式数据类型参考 601
A.1 XML模式内置数据类型 601
A.2 约束数据类型方面 605
附录B XSL支持 616