Chapter 11. Other XML Technologies

The System.Xml namespace comprises the following namespaces and core classes:

System.Xml.*
XmlReader and XmlWriter
High-performance, forward-only cursors for reading or writing an XML stream
XmlDocument
Represents an XML document in a W3C-style DOM (obsolete)
System.Xml.XLinq
Modern LINQ-centric DOM for working with XML (see Chapter 10)
System.Xml.XmlSchema
Infrastructure and API for (W3C) XSD schemas
System.Xml.Xsl
Infrastructure and API (XslCompiledTransform) for performing (W3C) XSLT transformations of XML
System.Xml.Serialization
Supports the serialization of classes to and from XML (see Chapter 17)

W3C is an abbreviation for World Wide Web Consortium, where the XML standards are defined.

XmlConvert, the static class for parsing and formatting XML strings, is covered in Chapter 6.

XmlReader

XmlReader is a high-performance class for reading an XML stream in a low-level, forward-only manner.

Consider the following XML file:

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<customer id="123" status="archived">
  <firstname>Jim</firstname>
  <lastname>Bo</lastname>
</customer>

To instantiate an XmlReader, you call the static XmlReader.Create method, passing in a Stream, a TextReader, or a URI string. For example:

using (XmlReader reader = XmlReader.Create ("customer.xml"))
  ...
Note

Because XmlReader lets you read from potentially slow sources (Streams and URIs), it offers asynchronous versions of most of its methods so that ...

Get C# 6.0 in a Nutshell, 6th Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.