| |
| |
| |
内容简介
本书由国际知名的微软技术专家撰写,主要探讨由.NET框架所提供的XML工具集。全书共分四个部分,第一部分深入讨论在.NET平台中实现XML的各个核心类,同时介绍读取器和编写器、数据验证以及XML模式方面的一些例子和参考信息;第二部分讨论XML数据操作,包括XML DOM、XPath、XSLT等。第三部分介绍XML与数据访问,讲述XML与数据库之间的互操作;最后集中讨论应用程序与互操作性,并简要讨论SQL Server 2000及其XML扩展、.NET远程化、XML Web服务,并包括两个介绍XML配置文件、XML数据岛以及浏览器/部署托管控件的章节。 本书条理清晰,实例丰富,适合学习XML的开发人员阅读,尤其适合.NET框架下的XML开发人员参考。 大约5年前,当我刚完成我的第一本书后,出版商向我提出了一个相当有吸引力的建议:“为什么不着手写一本新书呢”?现在我知道,所有的出版商都会提这类建议,但在那时它确实很诱人,并且我认为这里面还含有欣赏的成分。“看起来你在新技术方面干得很不错,”他们说道:“我们希望你能够考虑一下XML这个新的题材”。那是我第一次听说XML,XML那时还不是W3C推荐规范。 但当时却发生了很多的事情,以至于很长时间后我才开始着手XML。可以确信,在编写本书时,已经有成千上万的IT经理们正在以这样或那样的方式进行包含XML的各种演示。几年前,在一个软件讨论会上,我曾听到一位产品经理突出强调了在他所推荐的产品套件中XML所起的关键作用。在说了最初的十多句关于“如果没有XML,将来都不知会是什么样子”的话后,就有一个听众提出了一个很坦率的问题:“存不存在不使用XML的地方呢?”推荐者的激情使得现场的每个听众都相信:没有XML的强大功能,程序设计简直不可能再进行了。结果,我们再一次从演讲者的回答中取消了疑虑:“哦,在编译器中就不使用XML。” 先不管对XML所做的广告,XML确实是软件中的关键元素。如今,XML不仅仅是一种软件技术,它还是各种编程的基础组成元素,其本质就像水与空气对于我们每个人一样。现实中,人类要求以某种方式利用水和空气,同样,程序设计形式的“生命”必须取得软件工具的支持才能有效应,并发挥出互操作、适应性以及信息方面的潜在能力。对于XML,最重要的莫过于解析器了。 XML解析器读取XML文本,并输出内容的内存表示。尽管可以以各种字符集编码,但XML解析器的输入总是表现为无格式的平台无关的文本,然而,XML解析器的输出却严格地束缚在底层硬件和软件平台上。根据操作系统与所选的编程环境,XML解析器可以生成COM对象、Java类或JScript类。然而,不管输出种类如何,最终结果都是可编程形式的XML数据。 伙伴应用程序需要增加集成与配合的程度,这使交换XML代码越来越复杂,经常需要使用更专用的语言来解析,如SOAP以及XPath。结果,XML编程需要特殊的工具来读写这些语言,更妙的是,那些工具已经紧密地集成到了某种编程框架中。 有效的XML编程要求能够以功能更强大的方式生成XML文档,而不仅仅是连接字符串。XMLAPI必须有足够的扩展性能,适应可插入技术并定制各个功能。并且XML必须是可串行化的,与数据存储和交换的其他元素也有良好的集成,包括数据库、复杂数据类型(数组、表以及列表)以及可视化用户界面元素。简单地说,XML必须不再是拴在核心框架中的一个独特的API,而是融入这个大家族中的完全一个成员。很幸运,XML在Microsoft.NET框架中正好是完全集成的。本书中介绍的就是.NET框架中的XML编程。 本书探讨由.NET框架提供的XML工具集。XML遍布.NET框架各处,从远程化到Web服务,从数据访问到配置。本书第一部分深入讨论在.NET平台中实现XML的各个关键类,同时介绍了读取器和编写器、验证以及模式方面的一些例子和参考信息。接着讨论.NET版本的XPath、XSLT和XMLDOM方面的内容。 本书最后集中讨论数据访问以及互操作性,并简要讨论SQLServer2000及其XML扩展、.NET远程化及XMLWeb服务方面的内容。另外还有两个介绍XML配置文件、XML数据岛以及浏览器/部署托管控件方面内容的章节。
| |
|
顾客评论 |
|
目录
目 录 译者序前言第一部分 .NET框架中的XML核心类第1章 .NET XML解析模型 21.1 .NET框架中的XML 21.1.1 相关的XML标准 21.1.2 核心解析类 41.1.3 XML和ADO.NET 51.1.4 应用程序配置 51.1.5 互操作性 61.2 从MSXML到.NET框架类 71.2.1 COM和.NET框架的XML核心服务 71.2.2 在.NET框架中使用MSXML 71.3 NET框架的XML API 81.3.1 .NET框架的读取器和编写器 91.3.2 类似游标的方法 101.3.3 XML读取器 101.3.4 XML编写器 111.3.5 .NET中的XML文档对象API 121.3.6 XPath表达式和XSLT 121.4 小结 131.5 进阶阅读 14第2章 XML读取器 152.1 读取器编程接口 152.1.1 XmlReader类 162.1.2 专用读取器类 192.2 使用XmlTextReader类解析 202.2.1 访问节点 202.2.2 访问属性 242.2.3 处理XML异常 262.2.4 处理空白 272.2.5 解析实体 272.2.6 解析外部引用 282.2.7 读取大流 292.2.8 NameTable对象 302.2.9 用.NET工具设计SAX解析器 302.3 解析XML片断 322.3.1 解析格式规范的XML字符串 322.3.2 片断与解析器上下文 332.4 编写定制的XML读取器 352.4.1 将数据结构映射到XML节点 352.4.2 将CSV文件映射到XML 362.4.3 实现CSV-to-XML读取器 372.4.4 运行的CSV XML读取器 452.5 读取器与XML读取器 472.6 小结 472.7 进阶阅读 48第3章 XML数据验证 493.1 XmlValidatingReader类 493.1.1 支持的验证类型 503.1.2 XmlValidatingReader编程接口 503.1.3 使用XmlValidatingReader 523.2 验证处理内幕 583.2.1 增量式解析 583.2.2 模式高速缓存 603.2.3 验证XML片断 623.3 使用DTD 633.3.1 开发DTD文法 633.3.2 根据DTD进行验证 643.3.3 DTD使用与折衷 653.4 使用XDR 模式 663.4.1 XDR 模式概览 663.4.2 根据XDR进行验证 673.5 使用XML模式API 693.5.1 什么是模式 703.5.2 定义XSD 模式 733.5.3 .NET 模式对象模型 793.5.4 根据XSD文档进行验证 853.6 小结 873.7 进阶阅读 87第4章 XML编写器 894.1 XML编写器编程接口 894.1.1 XmlWriter基类 914.1.2 XmlTextWriter类 944.2 编写格式规范的XML文本 964.2.1 构建XML文档 974.2.2 格式化文本 1024.2.3 支持命名空间 1034.2.4 写编码数据 1064.2.5 XML验证编写器 1104.3 编写定制的XML编写器 1124.3.1 实现ADO记录集XML编写器 1124.3.2 XmlRecordsetWriter编程接口 1134.3.3 测试XmlRecordsetWriter类 1164.3.4 比较编写器与XML编写器 1184.4 读/写XML流解析器 1184.4.1 设计读取器之上的编写器 1184.4.2 读/写操作的内嵌支持 1194.4.3 设计XmlTextReadWriter类 1204.4.4 测试XmlTextReadWriter类 1224.4.5 具有完全访问权限的CSV编辑器 1284.5 小结 1324.6 进阶阅读 133第二部分 XML数据操作第5章 XML .NET文档对象模型 1365.1 XML DOM编程接口 1365.1.1 XmlDocument类 1385.1.2 基类XmlNode 1425.2 使用XML文档 1455.2.1 装载XML文档 1455.2.2 提取XML DOM子树 1485.2.3 更新文本和标记 1495.2.4 通过查询选择节点 1505.3 创建XML文档 1525.3.1 添加节点 1525.3.2 附加属性 1545.3.3 持久保存更改 1545.4 扩展XML DOM 1555.4.1 定制节点类 1555.4.2 构建“热插拔的”XML DOM 1565.5 小结 1615.6 进阶阅读 162第6章 XML查询语言和导航 1636.1 什么是XPath 1636.1.1 XPath查询上下文 1636.1.2 位置路径 1656.1.3 文档间的链接 1676.2 XML DOM中的XPath 1676.2.1 XML DOM节点检索API 1686.2.2 XPath计算器示例 1696.3 .NET XPath导航API 1756.3.1 类XPathNavigator 1766.3.2 XPath导航器和XMLreader 1766.3.3 XPathNavigator编程接口 1776.3.4 .NET框架中的XPath表达式 1806.3.5 排序节点集 1836.3.6 XPath数据存储 1856.4 XPath迭代器 1876.4.1 XPathNodeIterator类 1886.4.2 访问选中的节点 1896.5 小结 1906.6 进阶阅读 190第7章 XML数据转换 1917.1 XSLT究竟是什么 1917.1.1 XSLT模板编程 1927.1.2 XSLT指令 1937.1.3 从XML到HTML 1967.1.4 从模式到模式 1987.2 .NET框架的XSLT处理器 2007.2.1 快速XSLT转换器 2007.2.2 XslTransform类 2027.2.3 XSLT处理器内幕 2047.3 应用转换 2067.3.1 设计注意事项 2077.3.2 异步转换 2087.3.3 输出格式 2127.3.4 传递和检索参数 2127.4 练习例子 2147.4.1 将DataSet对象转换成Recordset对象 2147.4.2 XML Web服务器控件 2197.5 XSLT扩展对象 2217.5.1 处理嵌入脚本 2227.5.2 向样式表传递托管对象 2247.6 小结 2257.7 进阶阅读 226第三部分 XML和数据访问第8章 XML和数据库 2288.1 从数据库读取XML数据 2288.1.1 SELECT语句的XML扩展 2298.1.2 FOR XML的局限性 2328.1.3 客户端XML格式化 2338.1.4 创建XML视图 2338.2 XML数据读取器 2378.2.1 读取XML查询 2388.2.2 ExecuteXmlReader的内幕 2418.2.3 读取文本字段 2418.2.4 用于数据读取器的XML读取器 2428.2.5 用OLE DB数据提供者使用XML 2458.3 断开的XML数据读取器 2468.3.1 XmlDataDocument类 2468.3.2 与DataSet对象同步 2468.3.3 XML数据保真 2478.4 将XML数据写到数据库中 2488.4.1 OPENXML行集提供者 2488.4.2 XML 批量加载 2508.4.3 Updategram模板 2528.5 SQLXML托管类 2568.5.1 SqlXmlCommand类 2568.5.2 SqlXmlParameter类 2608.5.3 SqlXmlAdapter类 2618.6 小结 2628.7 进阶阅读 262第9章 ADO.NET XML数据串行化 2649.1 串行化DataSet对象 2649.1.1 适用于XML的DataSet对象嵌入式API 2669.1.2 将数据写为XML 2669.1.3 写模式信息 2689.1.4 定制XML表示 2729.1.5 表示数据关系 2739.2 串行化过滤视图 2769.2.1 串行化DataTable对象 2769.2.2 DataView对象 2779.3 二进制数据串行化 2799.3.1 常规的.NET框架串行化 2809.3.2 定制的二进制串行化 2819.4 从XML装载DataSet对象 2849.4.1 构建DataSet对象 2849.4.2 读取模式信息 2869.4.3 推出模式信息 2879.4.4 从定制读取器进行装载 2899.5 小结 2939.6 进阶阅读 294第10章 有状态数据串行化 29510.1 DiffGram格式概述 29510.1.1 当前数据实例 29710.1.2 DiffGram格式注释 29810.1.3 初始数据区段 30110.1.4 跟踪未决的错误 30310.2 DiffGram浏览器应用程序 30410.2.1 将DataSet对象持久保存到DiffGram中 30610.2.2 从DiffGram中加载DataSet对象 30610.2.3 DiffGram中的模式信息 30710.3 保存-恢复应用程序 30910.3.1 建立应用程序 30910.3.2 创建本地数据存储 31010.3.3 检查和拒绝更改 31110.3.4 提交更改 31310.4 小结 31510.5 进阶阅读 316第四部分 应用程序互操作性第11章 XML串行化 31811.1 对象串行化过程 31811.1.1 SOAP格式化器 31911.1.2 从SOAP串行化到XML串行化 32111.2 XML串行器 32211.2.1 编程接口 32211.2.2 将对象串行化到XML 32511.2.3 将XML数据反串行化到对象 33211.3 整形XML输出 33411.3.1 XML串行化属性 33411.3.2 覆盖属性 33611.4 将SQL服务器数据映射到类 33811.4.1 覆盖类名 33911.4.2 覆盖类属性 34011.4.3 将覆盖和事件混合 34111.4.4 填充集合属性 34111.5 XML串行器 34311.5.1 临时程序集 34411.5.2 串行化编写器和读取器 34611.6 小结 34711.7 进阶阅读 347第12章 .NET远程处理系统 34912.1 .NET框架中的进程间通信 34912.1.1 .NET远程处理是更好的DCOM 34912.1.2 .NET远程处理是什么 35112.1.3 应用程序域 35112.2 可远程处理对象 35312.2.1 按值编组对象 35312.2.2 按引用编组对象 35412.3 建立远程服务 35712.3.1 编写数据提供者类 35712.3.2 编写远程服务组件 36112.3.3 发布远程服务组件 36212.3.4 服务器端激活 36512.3.5 客户端激活 36712.3.6 选择合适的激活模式 36812.3.7 内存管理 36812.4 调用远程服务 36912.4.1 配置调用程序 36912.4.2 编写客户端组件 37112.5 小结 37412.6 进阶阅读 375第13章 XML Web服务 37613.1 用于Web服务的.NET框架基础结构 37613.1.1 简单对象访问协议 37713.1.2 IIS支持 37813.1.3 WebService类 37913.2 构建.NET Web服务 38013.2.1 展示Web方法 38113.2.2 Web方法的SOAP消息格式化 38213.2.3 销售报告Web服务 38413.2.4 Web方法调用 38613.3 构建.NET 框架Web服务客户端 38913.3.1 代理类 39013.3.2 通过脚本调用Web服务 39313.4 比较.NET远程处理与Web服务 39513.4.1 哪一个先出现 39513.4.2 Web服务的问题 39613.5 小结 39713.6 进阶阅读 398第14章 客户端XML 39914.1 IE中的XML支持 39914.1.1 数据岛标签 39914.1.2 MSXML解析器的作用 40014.1.3 嵌入XML数据的其他方法 40214.1.4 在ASP.NET中创建数据岛 40414.2 在IE中嵌入.NET框架组件 40514.2.1 为HTML页构建Windows Forms控件 40614.2.2 数据显示定制控件 40814.3 把它放到一起 41114.3.1 串行化DataSet 对象到数据岛 41214.3.2 从MSXML文件到.NET XML文件 41414.4 小结 41614.5 进阶阅读 417第15章 .NET框架应用程序配置 41815.1 配置文件 41815.1.1 用于配置设置的XML 模式 41815.1.2 机器配置文件 41915.1.3 安全配置文件 42015.1.4 应用程序配置文件 42015.2 管理配置设置 42115.2.1 ConfigurationSettings类 42215.2.2 AppSettingsReader类 42715.3 创建新的配置段 42715.3.1 声明新区段 42815.3.2 区段处理器的类型 42915.3.3 区段处理器 43115.3.4 定制属性名称 43215.4 为数据定制XML 模式 43315.4.1 创建DataSet区段处理器 43315.4.2 实现DataSet区段处理器 43815.5 小结 43915.6 进阶阅读 439后记 440
| |
Microsoft.NET XML程序设计-相关图书 ·商业银行经营管理 ·算法设计与分析基础(影印版) ·西方经济学 ·Visual Basic 6.0程序设计教程 ·优质奶生产及奶牛乳房健康手册 ·世界五千年神秘总集.地球、宇宙、外星文明之谜 ·问答篇音响调音快易通 ·企业新事业开发 ·普通化学实验 ·剑桥少儿文明百科 ·软件工程过程 ·大学化学实验 ·日本语能力测试考前题库.语法3级 ·解析极限编程:拥抱变化(影印版) ·万用表测试电工电子元器件300例 ·汉语应用语言学 ·建筑画丛书.4 ·裘沛然选集 ·Delphi 7经典问题解析 ·Photoshop CS中文版范例入门与提高
|
| |