第1章 XML简介 1
1.1 什么是XML 1
1.2 使用XML的好处 2
1.3 XML语法 2
1.3.1 XML标记、元素和属性 2
1.3.2 XML的语法规则 3
1.3.3 XML名称命名规则 5
1.3.4 XML实体引用 6
1.3.5 XML CDATA区 7
1.3.6 XML注释 7
1.3.7 XML声明 8
1.3.8 格式正确的XML文档 8
1.3.9 XML命名空间 8
1.4 DTD和XML Schema 10
1.5 解析XML文档 11
1.6 XPath介绍 13
1.7 XSLT介绍 14
第2章 使用文档对象模型操作XML文档 15
2.1 文档对象模型概述 15
2.2 DOM实现 17
2.3 应用实例 18
2.3.1 装载XML文档 19
2.3.2 遍历XML文档 20
2.3.3 查询特殊元素和节点 22
2.4 修改XML文档 28
2.4.1 Save方法 29
2.4.2 XmlDocumentFragment类 29
2.4.3 XmlElement类 30
2.4.4 添加节点到XML文档中 31
2.4.5 删除和更换节点 31
2.4.6 XML片段插入到XML文档 32
2.4.7 添加属性到节点中 33
2.5 综合实例 33
2.6 处理空白 37
2.7 处理命名空间 38
2.8 XmlDocument类的事件 40
第3章 应用XPath操作XML文档 42
3.1 XPath介绍 42
3.2 XPath数据模型 52
第4章 用XSLT转换XML文档 67
4.1 XSLT简介 67
4.1.1 XSLT的基本转换过程 68
4.1.2 XSLT语法 70
4.2 XslCompiledTransform类 78
4.2.1 使用XslCompiledTransform类执行转换 79
4.2.2 传递参数到XSLT样式表 81
4.2.3 应用扩展对象 84
第5章 验证XML文档 89
5.1 XMLSchema 89
5.1.1 XSD 90
5.1.2 XML Schema数据类型 94
5.2 定义XML文档的结构 100
5.2.1 创建DTD文件 100
5.2.2 创建XSD Schema 102
5.3 利用DTD和XSD Schema验证XML文档 112
5.3.1 应用DTD 112
5.3.2 应用XSD Schema 115
5.4 用XmlReader类验证XML文档 116
5.5 用XmlDocument类验证XML文档 118
5.6 用XPath导航器验证XML文档 123
5.7 验证未声明XSD Schema文件位置的XML文档 123
第6章 读/写XML文档 126
6.1 XmlReader和XmlWriter类简介 126
6.2 用XmlTextReader类读XML文档 128
6.2.1 读取元素属性和值 129
6.2.2 遍历XML文档 132
6.3 编写XML文档 136
6.4 综合实例 141
第7章 XML和ADO.NET 173
7.1 ADO.NET简介 173
7.1.1 ADO.NET包含的类 174
7.2 XML和数据访问 184
7.2.1 XML和连接式数据访问 184
7.2.2 XML和断开式数据访问 188
7.2.3 将XML文件读入DataSet 193
7.2.4 使用Visual Studio创建一个类型化的DataSet 196
7.3 XmlDataDocument类 204
7.3.1 使用XmlDataDocument类 204
7.3.2 DataRow和XmlElement之间的转换 208
第8章 WCF与XML 210
8.1 WCF简介 210
8.2 创建和使用WCF服务 215
8.2.1 基于Visual Studio创建和使用WCF服务 215
8.2.2 基于Visual Studio和ServiceModel元数据实用工具创建和使用WCF服务 225
8.3 XML在WCF服务中的角色 238
第9章 LINQ与XML 239
9.1 LINQ技术概述 239
9.1.1 LINQ是什么 239
9.1.2 LINQ的特征 241
9.1.3 从XML中提取数据 242
9.1.4 以字符串方式载入XML 250
9.1.5 缺失数据处理 251
9.1.6 使用XML数据查询表达式 252
9.2 使用LINO查询 258
9.3 经典的XML技术与应用到XML的LINQ 267
9.4 XLINQ的类层次结构 268
9.5 XLINQ的应用 268
9.5.1 以解析方式打开XML文档 269
9.5.2 遍历XML树 270
9.5.3 寻找特定的元素和属性 271
9.5.4 修改XML数据 276
9.5.5 XElement类事件 281
9.5.6 处理空白 282
9.5.7 处理命名空间 284
9.5.8 验证XML文档 287
9.5.9 转换XML树 289
第10章 XML序列化 293
10.1 序列化的格式与方式 293
10.2 使用XML格式序列化和反序列化对象 294
10.3 XmlSerializer类的事件 297
10.4 序列化和反序列化复杂类型 299
10.5 序列化和继承 304
10.6 自定义XML序列化 307
10.7 XML序列化的综合实例 312
10.8 使用SOAP格式序列化数据 337
10.9 自定义SOAP序列化 341
参考文献 344