There are a lot of useful features in the various System.Xml namespaces, and you can manage complex data in very effective ways. It's not always the most efficient way to manage data, but if you have structured hierarchical data, it may be the most direct and clear method.
Although XML lurks everywhere in the .NET Framework, and in all applications written using .NET, you could actually write large and interesting applications without looking at a single line of XML content. Even if your application needs to interact with XML content, the classes in the System.Xml namespace effectively shield you from the text manipulation nightmare that is XML.
XML is a very useful and flexible data format that is here to stay. Although it will always lack the speed of more compact data standards, its benefits are numerous. There is a move to introduce a "binary XML" format as a standard. Currently it's meeting with much resistance from the standards and development communities. As a .NET programmer, you won't really have to worry about that. If binary XML does become a standard, you will likely continue to use the same classes and methods introduced in this chapter, with the possible addition of an OutputFormat ("Text" or "Binary") property.