LINQ to XML
If you would like the output of your work to go to an XML document rather than to a SQL database, all you need to do is create a new XML element for each object in the Customer table and a new XML attribute for each property representing a column in the table. To do this, you use the LINQ to XML API.
Note that this code takes advantage of the new LINQ to XML classes, such as XAttribute, XElement, and XDocument. Working with XAttributes is very similar to working with standard XML elements. However, note that XAttributes are not nodes in an XML tree; rather, they are name/value pairs, each of which is associated with an actual XML element. This is also quite different from what programmers are used to when working with the DOM.
The XElement object represents an actual XML element and can be used to create elements. It interoperates cleanly with System.XML and makes for a terrific transition class between LINQ to XML and XML itself.
Finally, the XDocument class derives from XContainer and has exactly one child node (you guessed it: an XElement). It can also have an XDeclaration, zero or more XProcessingInstructions and XComments, and one XDocumentType (for the DTD), but that's more detail than you need.
In Example 9-10, you're going to create some XElements and assign some XAttributes. This should be very familiar to anyone comfortable with XML, and a relatively easy first glimpse for those who are totally new to raw XML.
Example 9-10. Constructing an XML document using LINQ ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access