The eXtensible Markup Language (XML) has seen widespread adoption throughout almost every industry in recent years. Its ability to allow applications to exchange data in a standardized format through web services and XML documents, and its adoption by SQL Server 2005 and most of Microsoft's new and upcoming applications, make the use of XML almost compulsory when creating applications in the .NET Framework. Whether you're using XML in your application's configuration file, consuming or exposing web services, working with XML in SQL Server, or working with datasets, knowing how to work with XML programmatically with the .NET Framework is an essential skill for any C# developer. This chapter does not cover the basics of XML itself or other standards such as XPath and XSLT. Instead, you will see how to work with XML, XPath, and XSLT using C# 2.0.