Microsoft.NET XML程序設(shè)計(jì)

出版時(shí)間:2003-9  出版社:Dino Esposito、寧建平、石朝江、 英宇 機(jī)械工業(yè)出版社 (2003-09出版)  作者:Dino Esposito  
Tag標(biāo)簽:無  

前言

大約5年前,當(dāng)我剛完成我的第一本書后,出版商向我提出了一個(gè)相當(dāng)有吸引力的建議:“為什么不著手寫一本新書呢”?現(xiàn)在我知道,所有的出版商都會提這類建議,但在那時(shí)它確實(shí)很誘人,并且我認(rèn)為這里面還含有欣賞的成分。“看起來你在新技術(shù)方面干得很不錯(cuò),”他們說道:“我們希望你能夠考慮一下XML這個(gè)新的題材”。那是我第一次聽說XML,XML那時(shí)還不是W3C推薦規(guī)范。但當(dāng)時(shí)卻發(fā)生了很多的事情,以至于很長時(shí)間后我才開始著手XML可以確信,在編寫本書時(shí),已經(jīng)有成千上萬的IT經(jīng)理們正在以這樣或那樣的方式進(jìn)行包含XML的各種演示。幾年前,在一個(gè)軟件討論會上,我曾聽到一位產(chǎn)品經(jīng)理突出強(qiáng)調(diào)了在他所推薦的產(chǎn)品套件中XML所起的關(guān)鍵作用。在說了最初的十多句關(guān)于“如果沒有XML將來都不知會是什么樣子”的話后,就有一個(gè)聽眾提出了一個(gè)很坦率的問題:“存不存在不使用XML的地方呢?”推薦者的激情使得現(xiàn)場的每個(gè)聽眾都相信:沒有XML的強(qiáng)大功能,程序設(shè)計(jì)簡直不可能再進(jìn)行了。結(jié)果,我們再一次從演講者的回答中取消了疑慮:“哦,在編譯器中就不使用XML”

內(nèi)容概要

《Microsoft.NET XML程序設(shè)計(jì)》由國際知名的微軟技術(shù)專家撰寫,主要探討由.NET框架所提供的XML工具集。全書共分四個(gè)部分,第一部分深入討論在.NET平臺中實(shí)現(xiàn)XML的各個(gè)核心類,同時(shí)介紹讀取器和編寫器、數(shù)據(jù)驗(yàn)證以及XML模式方面的一些例子和參考信息;第二部分討論XML數(shù)據(jù)操作,包括XML DOM、XPath、XSLT等。第三部分介紹XML與數(shù)據(jù)訪問,講述XML與數(shù)據(jù)庫之間的互操作;最后集中討論應(yīng)用程序與互操作性,并簡要討論SQL Server 2000及其XML擴(kuò)展、.NET遠(yuǎn)程化、XML Web服務(wù),并包括兩個(gè)介紹XML配置文件、XML數(shù)據(jù)島以及瀏覽器/部署托管控件的章節(jié)。
《Microsoft.NET XML程序設(shè)計(jì)》條理清晰,實(shí)例豐富,適合學(xué)習(xí)XML的開發(fā)人員閱讀,尤其適合.NET框架下的XML開發(fā)人員參考。

作者簡介

作者:(意大利)Dino Esposito 譯者:寧建平 石朝江 英宇 等Dino Esposito,是Web開發(fā)技術(shù)方面杰出的顧問與培訓(xùn)專家。以意大利的羅馬為中心.他經(jīng)常在Microsoft TechEd、Dev Connections以及win Summit等行業(yè)盛會上發(fā)表演講。除了編著各種程序設(shè)計(jì)方面的書籍,如((Building Web Solutions withASP.NET》(微軟出版社,2002)外,Dino還是《MSDN Magazine》“CuttingEdge”專欄和《Windows Developer Magazine》“Inside.NET”專欄的專欄作家,并經(jīng)常在《ASP.NET Pro》雜志上發(fā)表文章。同時(shí)他也是一位供職于Wintellect公司(WWW.wintellect.com)的ADO NET與XML專家.wintellect公司是一家集培訓(xùn)、調(diào)試及咨詢于一體的企業(yè),主要致力于幫助各類公司更快地構(gòu)建更好的軟件。

書籍目錄

譯者序前言第一部分 NET框架中的XML核心類第1章 .NETXML解析模型1.1.NET框架中的XML1.1.1 相關(guān)的XML標(biāo)準(zhǔn)1.1.2 核心解析類1.1.3 XML和ADO.NET1.1.4 應(yīng)用程序配置1.1.5 互操作性1.2 從MSXML到.NET框架類1.2.1 COM和.NET框架的XML核心服務(wù)1.2.2 在.NET框架中使用MSXML1.3 NET框架的XMLAPI1.3.1.NET框架的讀取器和編寫器1.3.2 類似游標(biāo)的方法1.3.3 XML讀取器1.3.4 XML編寫器1.3.5.NET中的XML文檔對象API1.3.6 X Path表達(dá)式和XSLT1.4 小結(jié)1.5 進(jìn)階閱讀第2章 XML讀取器2.1 讀取器編程接口2.1.1 Xml Reader類2.1.2 專用讀取器類2.2 使用Xml Text Reader類解析2.2.1 訪問節(jié)點(diǎn)2.2.2 訪問屬性2.2.3 處理XML異常2.2.4 處理空白2.2.5 解析實(shí)體2.2.6 解析外部引用2.2.7 讀取大流2.2.8 Name Table對象2.2.9 用.NET具設(shè)計(jì)SAX解析器2.3 解析XML片斷2.3.1 解析格式規(guī)范的XML字符串2.3.2 片斷與解析器上下文2.4 編寫定制的XML讀取器2.4.1 將數(shù)據(jù)結(jié)構(gòu)映射到XML節(jié)點(diǎn)2.4.2 將CSV文件映射到XML2.4.3 實(shí)現(xiàn)CSV .to. XML讀取器2.4.4 運(yùn)行的CSVXML讀取器2.5 讀取器與XML讀取器2.6 小結(jié)2.7 進(jìn)階閱讀第3章 XML數(shù)據(jù)驗(yàn)證3.1 Xml Validating Reader類3.1.1 支持的驗(yàn)證類型3.1.2 Xml Validating Reader編程接口3.1.3 使Xml Validating Reader3.2 驗(yàn)證處理內(nèi)幕3.2.1 增量式解析3.2.2 模式高速緩存3.2.3 驗(yàn)證XML片斷3.3 使用DTD3.3.1 開發(fā)DTD文法3.3.2 根據(jù)DTD進(jìn)行驗(yàn)證3.3.3 DTD使用與折衷3.4 使用XDR模式3.4.1 XDR模式概覽3.4.2 根據(jù)XDR進(jìn)行驗(yàn)證3.5 使用XML模式API3.5.1 什么是模式3.5.2 定義XSD模式3.5.3.NET模式對象模型3.5.4 根據(jù)XSD文檔進(jìn)行驗(yàn)證3.6 小結(jié)3.7 進(jìn)階閱讀第4章 XML編寫器4.1.XML編寫器編程接口4.1.1 Xml Writer基類4.1.2 Xml Text Writer類4.2 編寫格式規(guī)范的XML文本4.2.1 構(gòu)建XML文檔4.2.2 格式化文本4.2.3 支持命名空間4.2.4 寫編碼數(shù)據(jù)4.2.5 XML驗(yàn)證編寫器4.3 編寫定制的XML編寫器4.3.1 實(shí)現(xiàn)ADO記錄集XML編寫器4.3.2 Xml Record set Writer編程接口4.3.3 測試Xml Record set Writer類4.3.4 比較編寫器與XML編寫器4.4 讀/寫XML流解析器4.4.1 設(shè)計(jì)讀取器之上的編寫器4.4.2 讀,寫操作的內(nèi)嵌支持4.4.3 設(shè)計(jì)Xml Text Read Writer類4.4.4 測試Xml Text Read Writer類4.4.5 具有完全訪問權(quán)限的CSV編輯器4.5 小結(jié)4.6 進(jìn)階閱讀第二部分 XML數(shù)據(jù)操作第5章 XML.NET文檔對象模型5.1 XMLDOM編程接口5.1.1 Xml Document類5.1.2 基類Xml Node5.2 使用XML文檔5.2.1 裝載XML文檔5.2.2 提取XMLDOM子樹5.2.3 更新文本和標(biāo)記5.2.4 通過查詢選擇節(jié)點(diǎn)5.3 創(chuàng)建XML文檔5.3.1 添加節(jié)點(diǎn)5.3.2 附加屬性5.3.3 持久保存更改5.4 擴(kuò)展XMLDOM5.4.1 定制節(jié)點(diǎn)類5.4.2 構(gòu)建“熱插拔的”XMLDOM5.5 小結(jié)5.6 進(jìn)階閱讀第6章 XML查詢語言和導(dǎo)航6.1 什么是X Path6.1.1 X Path查詢上下文6.1.2 位置路徑6.1.3 文檔間的鏈接6.2 XML DO Mp的X Path6.2.1 XMLDOM節(jié)點(diǎn)檢索API6.2.2 X Path計(jì)算器示例6.3.NETXPath導(dǎo)航API6.3.1 類X Path Navigator6.3.2 X Path導(dǎo)航器和XMLreader6.3.3 XPathNavigator編程接口6.3.4.NET框架中的XPath表達(dá)式6.3.5 排序節(jié)點(diǎn)集6.3.6 XPath數(shù)據(jù)存儲6.4 XPath迭代器6.4.1.XPathNodeIterator類6.4.2 訪問選中的節(jié)點(diǎn)6.5 小結(jié)6.6 進(jìn)階閱讀第7章 XML數(shù)據(jù)轉(zhuǎn)換7.1 XSLT究竟是什么7.1.1 XSLT模板編程7.1.2 XSLT指令7.1.3 從XML到HTML7.1.4 從模式到模式7.2.NET框架的XSLT處理器7.2.1 快速XSLT轉(zhuǎn)換器7.2.2 XsTransform類7.2.3 XSLT處理器內(nèi)幕7.3 應(yīng)用轉(zhuǎn)換7.3.1 設(shè)計(jì)注意事項(xiàng)7.3.2 異步轉(zhuǎn)換7.3.3 輸出格式7.3.4 傳遞和檢索參數(shù)1.4 練習(xí)例子7.4.1 將DataSet對象轉(zhuǎn)換成Recordset對象7.4.2 XMLweb服務(wù)器控件7.5 XSLT擴(kuò)展對象7.5.1 處理嵌入腳本7.5.2 向樣式表傳遞托管對象7.6 小結(jié)7.7 進(jìn)階閱讀第三部分 XML和數(shù)據(jù)訪問第8章 XML和數(shù)據(jù)庫8.1 從數(shù)據(jù)庫讀取XML數(shù)據(jù)8.1.1 SELECT語句的XML擴(kuò)展8.1.2 FORXML的局限性8.1.3 客戶端XML格式化8.1.4 創(chuàng)建XML視圖8.2 XML數(shù)據(jù)讀取器8.2.1 讀取XML查詢8.2.2 ExecuteXmlReader的內(nèi)幕8.2.3 讀取文本字段8.2.4 用于數(shù)據(jù)讀取器的XML讀取器8.2.5 用OLEDB數(shù)據(jù)提供者使用XML8.3 斷開的XML數(shù)據(jù)讀取器8.3.1 XmlDataDocument類8.3.2 與DataSet對象同步8.3.3 XML數(shù)據(jù)保真8.4 將XML數(shù)據(jù)寫到數(shù)據(jù)庫中?8.4.1 OPENXML行集提供者8.4.2 XML批量加載8.4.3 Upaategram模板8.5 SQLXML托管類8.5.1 SqlXmlCommand類8.5.2 SqlXmlParameter類8.5.3 SqlXmlAdapter類8.6 小結(jié)8.7 進(jìn)階閱讀第9章 ADO.NETXML數(shù)據(jù)串行化9.1 串行化Dataset對象9.1.1 適用于XML的DataSet對象嵌入式API9.1.2 將數(shù)據(jù)寫為XML9.1.3 寫模式信息9.1.4 定制XML表示9.1.5 表示數(shù)據(jù)關(guān)系9.2 串行化過濾視圖9.2.1 串行化DataTable對象9.2.2 DataView對象9.3 二進(jìn)制數(shù)據(jù)串行化,9.3.1 常規(guī)的.NET框架串行化9.3.2 定制的二進(jìn)制串行化9.4 從XML裝載DataSet對象9.4.1 構(gòu)建DataSet對象9.4.2 讀取模式信息9.4.3 推出模式信息9.4.4 從定制讀取器進(jìn)行裝載9.5 小結(jié)9.6 進(jìn)階閱讀第10章 有狀態(tài)數(shù)據(jù)串行化10.1 DiffGram格式概述10.1.1 當(dāng)前數(shù)據(jù)實(shí)例10.1.2 DiffGram格式注釋10.1.3 初始數(shù)據(jù)區(qū)段10.1.4 跟蹤未決的錯(cuò)誤10.2 DiffGram瀏覽器應(yīng)用程序10.2.1 將DataSet對象持久保存到DiffGram中10.2.2 從DiffGram中加載DataSet對象10.2.3 DiffGram中的模式信息10.3 保存一恢復(fù)應(yīng)用程序10.3.1 建立應(yīng)用程序10.3.2 創(chuàng)建本地?cái)?shù)據(jù)存儲10.3.3 檢查和拒絕更改10.3.4 提交更改10.4 小結(jié)10.5 進(jìn)階閱讀第四部分 應(yīng)用程序互操作性第11章 XML串行化11.1 對象串行化過程11.1.1 SOAP格式化器11.1.2 從SOAP串行化到XML串行化11.2 XML串行器11.2.1 編程接口11.2.2 將對象串行化到XML11.2.3 將XML數(shù)據(jù)反串行化到對象11.3 整形XML輸出11.3.1 XML串行化屬性11.3.2 覆蓋屬性11.4 將SQL服務(wù)器數(shù)據(jù)映射到類11.4.1 覆蓋類名11.4.2 覆蓋類屬性11.4.3 將覆蓋和事件混合11.4.4 填充集合屬性11.5 XML串行器11.5.1 臨時(shí)程序集11.5.2 串行化編寫器和讀取器11.6 小結(jié)11.7 進(jìn)階閱讀第12章 .NET遠(yuǎn)程處理系統(tǒng)12.1.NET框架中的進(jìn)程間通信12.1.1.NET遠(yuǎn)程處理是更好的DCOM12.1.2.NET遠(yuǎn)程處理是什么12.1.3 應(yīng)用程序域12.2 可遠(yuǎn)程處理對象12.2.1 按值編組對象12.2.2 按引用編組對象12.3 建立遠(yuǎn)程服務(wù)12.3.1 編寫數(shù)據(jù)提供者類12.3.2 編寫遠(yuǎn)程服務(wù)組件12.3.3 發(fā)布遠(yuǎn)程服務(wù)組件12.3.4 服務(wù)器端激活12.3.5 客戶端激活12.3.6 選擇合適的激活模式12.3.7 內(nèi)存管理12.4 調(diào)用遠(yuǎn)程服務(wù)12.4.1 配置調(diào)用程序12.4.2 編寫客戶端組件12.5 小結(jié)12.6 進(jìn)階閱讀第13章 XMLWeb服務(wù)13.1 用于Web服務(wù)的.NET框架基礎(chǔ)結(jié)構(gòu)13.1.1 簡單對象訪問協(xié)議13.1.2 IIS支持13.1.3 WebServer類13.2 構(gòu)建.NETWeb服務(wù)13.2.1 展示W(wǎng)eb方法13.2.2 Web方法的SOAP消息格式化13.2.3 銷售報(bào)告Web服務(wù)13.2.4 Web方法調(diào)用13.3 構(gòu)建.NET框架Web服務(wù)客戶端13.3.1 代理類13.3.2 通過腳本調(diào)用Web服務(wù)13.4 比較.NET遠(yuǎn)程處理與Web服務(wù)13.4.1 哪一個(gè)先出現(xiàn)13.4.2 Web服務(wù)的問題13.5 小結(jié)13.6 進(jìn)階閱讀第14章 客戶端XM114.1 IE中的XM1支持14.1.1 數(shù)據(jù)島標(biāo)簽14.1.2 MSXM1解析器的作用14.1.3 嵌入XM1數(shù)據(jù)的其他方法14.1.4 在ASENET中創(chuàng)建數(shù)據(jù)島14.2 在IE中嵌入.NET框架組件14.2.1 為HTM1.頁構(gòu)建WindowsForms控件14.2.2 數(shù)據(jù)顯示定制控件14.3 把它放到一起14.3.1 串行化DataSet對象到數(shù)據(jù)島14.3.2 從MSXM1文件到.NETXM1文件14.4 小結(jié)14.5 進(jìn)階閱讀第15章 .NET框架應(yīng)用程序配置15.1 配置文件15.1.1 用于配置設(shè)置的XM1模式15.1.2 機(jī)器配置文件15.1.3 安全配置文件15.1.4 應(yīng)用程序配置文件15.2 管理配置設(shè)置15.2.1 ConfigurationSettings類15.2.2 AppSettingsReader類15.3 創(chuàng)建新的配置段15.3.1 聲明新區(qū)段15.3.2 區(qū)段處理器的類型15.3.3 區(qū)段處理器15.3.4 定制屬性名稱15.4 為數(shù)據(jù)定制XM1模式15.4.1 創(chuàng)建DataSet區(qū)段處理器15.4.2 實(shí)現(xiàn)DataSet區(qū)段處理器15.5 小結(jié)15.6 進(jìn)階閱讀后記

章節(jié)摘錄

插圖:ADO.NET類與XMI。文檔之間的交互作用有以下兩種形式:·ADO.NET對象(特別是DataSet對象)到XML文檔的串行化和相應(yīng)的反串行化??梢詫?shù)據(jù)作為內(nèi)存中數(shù)據(jù)的完整“快照”以各種不同的格式存儲到XML中,可以帶模式信息,也可以不帶,這個(gè)快照包含未決更改以及錯(cuò)誤,或者正好是數(shù)據(jù)的當(dāng)前實(shí)例?!るp重訪問模型。可以通過一個(gè)分層編程接口或使用ADO.NET有關(guān)的API訪問并更新同一數(shù)據(jù)片斷。基本上,可以將一個(gè)DataSet對象轉(zhuǎn)換為XMLDOM對象并將XMLDOM子樹視為合并了:DataSet對象表的一些表。ADO.NET DataSet類表示了.NET框架對象中惟一天生就可以保存為XML的對象。DataSet對象的XML表示可以有兩種不同方式:ADO.NET標(biāo)準(zhǔn)形式和DiffGram格式。特別是,DiffGram格式描述了數(shù)據(jù)的歷史記錄以及所有的新近更改。每個(gè)表中每個(gè)改變的行是用兩個(gè)節(jié)點(diǎn)表示的:第一個(gè)節(jié)點(diǎn)包含了最初讀取該行時(shí)的“快照”,第二個(gè)節(jié)點(diǎn)包含了該行的當(dāng)前值。DiffGram表示了給定時(shí)刻DataSet狀態(tài)和內(nèi)容的“快照”。為了對DiffGram進(jìn)行寫操作,ADO.NET使用了一個(gè)XmlWriter對象。

后記

在編寫本書時(shí)我積累了幾個(gè)想法,在結(jié)束對XML和.NET框架的討論時(shí),我想和大家一起分享一下這些想法。假如單獨(dú)考慮這些問題,它們似乎毫不相干。但是如果把它們放在一起,就構(gòu)成了一種“過濾器”,通過這個(gè)過濾器,可以從一個(gè)更高的角度重新審視和復(fù)習(xí)一下本書的內(nèi)容。這些想法就是以下4個(gè)概念:XML是.NET框架中內(nèi)在的數(shù)據(jù)類型。需要一個(gè)處于XMLDOM與SAX之間的中間解析模型。有效地查詢數(shù)據(jù)的能力是關(guān)鍵。對于真正的互操作性,我們需要的不僅僅是SOAP和XSD。這些想法中有些是解決跨平臺問題的,跨平臺問題已經(jīng)超出了單個(gè)供應(yīng)商的能力和興趣。w3C致力于XQuery,即XPath查詢語言的演進(jìn)版。XPath查詢語言提供了用于XMI。文檔的數(shù)據(jù)模型、一組用于該數(shù)據(jù)模型的操作符,以及基于這些操作符的查詢語言(更多的信息請參考)。

編輯推薦

《Microsoft.NET XML程序設(shè)計(jì)》:獲取專家建議,使用XML成功構(gòu)建與,NET連接的應(yīng)用程序在Microsoft.NET框架中.從遠(yuǎn)程化到Web服務(wù).從數(shù)據(jù)訪問到配置。XML無所不在。通過《Microsoft.NET XML程序設(shè)計(jì)》可以深入了解.NET中的大量XML核心類.學(xué)習(xí)使用解析器進(jìn)行編程?!禡icrosoft.NET XML程序設(shè)計(jì)》是由Microsoft ASP.NET及Microsoft ADO.NET等前沿技術(shù)的知名專家撰寫。在這里.你可以找到有關(guān)技術(shù)(如XML模式.XML轉(zhuǎn)換以及XPath方面)的權(quán)威解釋.還可發(fā)現(xiàn)有關(guān)數(shù)據(jù)訪問的問題(如同步與串行化、DiffGram格式以及Microsoft SQL Server 2000中的XML擴(kuò)展方面)的廣泛探討??梢詫W(xué)會如何在.NET中從XML獲取最佳的性能。也可以得到類似“什么時(shí)候應(yīng)該使用XML Web服務(wù)而不是遠(yuǎn)程化”這些常見問題的答案。《Microsoft.NET XML程序設(shè)計(jì)》涵蓋的主題包括:.NET框架中的XML核心類、·.NET×ML解析模型、·XML讀取器與編寫器、·驗(yàn)證讀取器與編寫器、·XML模式、XMI.數(shù)據(jù)操作、·.NET中的XMLDOM、XPath、XSLT、XML與數(shù)據(jù)訪問、SQLServer2000中的XML擴(kuò)展、·Data Set串行化、·DiffGram格式、應(yīng)用程序互操作性、·XML串行器、·.NET遠(yuǎn)程化、·XML Web服務(wù)、·XML數(shù)據(jù)島和·配置文件。

圖書封面

圖書標(biāo)簽Tags

評論、評分、閱讀與下載


    Microsoft.NET XML程序設(shè)計(jì) PDF格式下載


用戶評論 (總計(jì)0條)

 
 

 

250萬本中文圖書簡介、評論、評分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號-7