Companies began trying to communicate in an automated fashion some time ago, but they always encountered issues related to the type of data being exchanged. There are many variations of structured file formats for exchanging data, including fixed-width files and delimited files. Fixed-width files and delimited files cannot easily reflect a relational or hierarchical structure, however, and the alternative of structured data files typically resulted in monolithic implementations that were not reusable. It became obvious that a structured file format was needed for communicating data a format that everyone could use, that would support relational and other types of structured data, and that would include features such as validation support, extensibility, and the ability to pass through firewalls.
The World Wide Web Consortium (W3C) was created in October 1994 to help further the Web's potential by developing common protocols to ensure interoperability. In February 1998, the W3C published the XML 1.0 Recommendation. XML, or Extensible Markup Language, provides a foundation for text-based data communication that supports the features that many companies were looking for.
XML and its supporting technologies are growing rapidly. Most large companies have embraced it, and the W3C envisions the future Web as being completely based on XML technologies. As a developer, you can't escape XML even application configuration files are XML based.
This chapter looks at XML as it relates to Microsoft ADO.NET. We start by briefly introducing XPath and XQuery technologies. After that, we examine the implementation of XML in Microsoft SQL Server 2005, and then we explore the use of XML with ADO.NET.