本书全面介绍了基于.NETFramework开发XML文档和应用程序的技术。全书共10章,分别介绍了Microsoft.NETFramwork、VisualStudio.NET集成开发环境、XML基础、在.NETFramework中使用XML、.NET和XML的安全问题、XML和使用ASP.NET的Web、创建XML.NET客户簿、利用ADO和XML创建信息板、建立远程数据库视窗和建立一个批发目录。本书涵盖了XML.NET开发的最新技术,内容全面,实例丰富,实用性强。为便于读者学习和掌握,本书给出了很多提示性内容,并在每章最后都给出了小结、快速回顾和常见问题。本书面向对网络编程和.NET有基本了解的读者,通过本书读者可以在较短的时间内掌握网络应用开发的最新技术,成为出色的网络程序员。前言欢迎阅读本书!我们特别希望为那些想提高编程技巧、能够在.NET平台上写应用程序的XML程序员编写一本合格的参考书。所以阅读本书的前提是:接触过XML并且熟悉VB.NET、C#和ASP.NET。换言之,本书不适合新手和初学者。自从1998年2月有了开端以来,XML在WWW协会(W3C:WorldWideWebConsor-tium)的不懈努力推动之下持续向前发展。起初,许多开发者还嘲笑XML,认为它只不过是编写脚本的新方法而已。但那些常用数据库进行管理和开发的人员很快就意识到XML的潜力之所在:XML会成为不需要任何专门的方法,就能为团体之间提供数据服务的一种新途径。开发员开始把XML的一些片段融入到他们的桌面应用程序中,有的用来存储配置数据,有的作为输出文件。随着时间的推移,他们开始把XML放到Internet上,使数据库之间开始通过XML进行通信。许多企业发现,得益于XML,他们对外部数据库的数据操作变得更加轻松了。不过开发员并不是惟一发现XML潜力的群体:还有微软和那些让XML成为.NETFramework基础的人士。.NET的目标是:在桌面应用程序与在线应用程序之间建立联系;使其对象之间的通信变得更为方便。本书采用下列原则编写组织而成:在实际应用中,XML应遵守灵活性的原则。读者很可能会意外地发现:桌面应用程序运行XML的同时,在线电子商务商店也在利用XML传送数据。当读者阅读本书的时候会发现我们要在VB.NET和C#之间跳来跳去,或者这两者都用到一点。这种.NET所具有的灵活性便于我们适当地运用某些代码,以实现XML代码的最优化。如果读者觉得C#能提供比VB.NET速度更快捷的查询,但VB.NET又能传递更好的前端性能的话,则无需多虑,因为在.NET环境中可以两者都使用。一般来讲,如果你读者是一个.NET的初学者,会觉得这些东西听起来让人有点迷惑。就此我们建议你看一下Syngress出版公司的《VB.NETDevelopersGuide》(ISBN:1-93994-48-2)和《C#WebDevelopersGuide》(ISBN:1-928994-50-4)。这两本书包含了.NETFramework更多的细节知识,包括它是如何运作的、以及你该如何根据所选择的编程语言来利用.NET。随着新的.NET语言的实用化,Syngress的.NET编程丛书会越来越多,XML编程可以选择的语言也会越来越多。如果读者已经阅读过几本Syngress的.NET丛书,就会比较熟悉下面的内容安排:在前几章中讲述导引性的知识(也称为更新的知识);然后,在本书的主要部分,对编程语言中的某些具体问题给出深入的介绍;最后以一系列用来提高技巧和拓展思维的实例结束本书。总括起来,本书共有10章。第1章(介绍Microsoft.NETFramework)将快速介绍.NET内部是如何工作的。第2章(VisualStudio.NET集成开发环境)将简单介绍.NET编程使用的VS.NET微软集成开发环境(IDE)。这个新的IDE与以前的相比,更多地利用了XML,所以,即使读者熟悉VS.NETIDE,浏览一下这一章也是有益的。第3章(回顾XML的基础知识)将简短概述XML的基础内容。之后是第4章(在.NETFramework中使用XML),从这里开始我们要带领读者了解如何在.NET中利用XML。第3章和第4章覆盖XML的基础知识,并通过图解的方式介绍XML的正确语法及其合法操作。除了了解许多主要的命名空间以及它们是如何工作的以外,我们还要帮助大家熟悉做项目所需的类。届时,读者会惊讶于XML所提供的灵活性,以及其他的并不直接以XML为中心的类是如何也能与XML协同工作的。第5章(理解.NET和XML的安全性)介绍XML用户团体的一个主要问题——安全性。虽然XML本身不能提供恰当的安全特性,但对XML的用途有个透彻理解和了解.NET的安全性还是很重要的。第6章(使用XML和ASP.NET的Web开发)会介绍XML在线使用ASP.NET的方法,并且通过使用多种类型的例子——包括一个在线目录——来讲述XML是如何成为在线应用程序中极其重要部分的。第7章、第8章、第9章、第10章将分析现有实例(创建XML.NET客户簿;用ADO和XML创建留言板;建立远程数据库阅读程序;以及建立一个批发目录)。除去第7章以外,比较起来,这些应用程序都是大型而复杂的,要求理解.NET的基本概念和.NET编程原理??如果读者在期待XML的话,那就不要犹豫!JonothonOrtiz技术编辑致谢我们要感谢下列人员,是他们的帮助和支持才使这本书得以完成。RalphTroupe,RhondaSt.John以及在Callisma的小组,他们在设计、部署和支撑世界级大企业网络方面具有深邃而无价的洞察力!西部出版集团(PublishersGroupWest)的KarenCross,LanceTilford,MeaghanCunningham,KimWylie,HarryKirchner,KevinVotel,KentAnderson,FridaYara,BillGetz,JonMayes,JohnMesjak,PegODonnell,SandraPatterson,BettyRedmond,RoyRemer,RonShapiro,PatriciaKelly,AndreaTetrick,JenniferPascal,DougReil和DavidDahl,感谢他们贡献了超乎寻常的市场推广经验和专业技巧!ElsevierScience的JacquieShanahan,AnnHelenLindeholm,DavidBurton,FebeaMarinetti和RosieMoss,感谢他们让我们的视野触及到全世界范围!ElsevierScience/HarcourtAustralia的AnnabelDent和PaulBarry,感谢他们给予的所有帮助!Transquest出版公司的DavidBuckland,WendiWong,MarieChieng,LucyChong,LeslieLim,AudreyGan和JosephChan,感谢他们接收本书时所展示的热情!Acorn出版公司的KwonSungJune,感谢他的支持!CranburyInternational的EthanAtkin,感谢他对扩展Syngress程序方面所提供的帮助!JackieGross&Associates的JackieGross,GayleVoycey,AlexiaPenny,AnikRobitaille,CraigSiddall,DarleneMorrow,IolandaMiller,JaneMackay和MarieSkelly,感谢他们对我们在加拿大的产品所给予的所有热情帮助!LoisFraser、McMenemy、ShannonRussell以及Jaguar图书出版集团(JaguarBookGroup)其他了不起的工作人员,感谢他们对在加拿大发行Syngress图书所提供的帮助!作者简介AdamSills是GreatLand保险公司的一名Internet程序员,GreatLand保险公司是Kemper保险公司旗下的一个小公司。AdamSills在一个小IT部门工作,主要创建那些能够加速商业进程和整理大量数据的应用程序。他早先做过短期的顾问,还曾在一个很有影响力的B2B电子商务软件公司设计、制作能与大规模企业的电子商务应用程序进行交流的用户界面。Adam目前的职责包括建立、维护Web应用程序,在产品应用中帮助设计、建立和布署新的Microsoft.NET技术。他已经为Syngress写了大量的书籍,其中有《ASP.NETDevelopersGuide》(ISBN:1-928994-51-2)。另外他还是为数不多的ASP和ASP.NET邮寄名单里的一名活跃分子,随时都会为他人提供支持。ToddCarrico(MCDBA,MCSE)是Match.com的一位高级数据库工程师,Match.com是个人通向数字时代的一扇大门。除了它的主要网址之外,Match.com还通过自己的联合程序向AOL、MSN以及其他许多网址提供后期服务。Todd专攻设计和开发关于Microsoft技术的高性能、高实用性的数据结构。他曾经为Fujitsu、Accenture、InternationalPaper和GroceryWorks.com等公司做设计、开发、咨询和项目管理。除了《C#.NETWebDevelopersGuide》(ISBN:1-928994-50-4)以外,他还为Syngress.NET系列的其他丛书撰写了许多章节,包括:《ASP.NETWebDevelopersGuide》(ISBN:1-928994-51-2)和《VB.NETDevelopersGuide》(ISBN:1-928994-48-2)。Todd与妻子和他们的两个孩子现住在得克萨斯州的Sachse。GregHack是Allscript