XML Programming Using C# and .NET

Current Version: 4.6

This comprehensive and practical four-day course builds skills in .NET's XML processing APIs - chiefly parsing using XmlReader and the Document Object Model (DOM), writing XML streams using XmlWriter, transformations using XPath and XSLT, and the new LINQ to XML, all using the .NET Framework XML classes and the C# language. It also covers XML serialization according to XML Schema and the tight coupling between XML and ADO.NET. The course is intended for students with a working knowledge of XML who want to build XML applications or components using .NET and the C# language. Everything in the course adheres to W3C and .NET standards for highly portable code. Visual Studio 2014 with .NET 4.5.1 is used as the development environment.

The course includes extensive programming examples, a progressively developed case study, and several tools for manipulating XML documents. All source code is in C# and is provided with the course. A separate Lab Manual provides detailed instructions for laboratory exercises with console and Windows Forms client programs. A parallel course, 4126, XML for Web Applications Using C#, has lab exercises with console and Web Forms client programs. The Student Guide and Lab Manual are bound together in a single volume.

Upon completion of this course the student will be equipped to program XML applications in .NET and understand which XML and .NET technologies to apply for the problem domain.

  • Ability to read and to write well-formed XML. A working knowledge of programming the .NET Framework using C#. A working knowledge of ADO.NET is recommended for the portion of the course dealing with ADO.NET and XML.
Course Objectives
On completion of this course, the student should be able to
  • Understand the purpose of the .NET Framework XML classes
  • Parse XML data streams using XmlReader classes
  • Validate XML data streams that are described by a DTD or an XML Schema
  • Use the XmlWriter class to create XML data streams
  • Modify, create and delete information in an XML document using the Document Object Model (DOM) .NET classes.
  • Use XML Serialization to persist XML data
  • Acquire a working knowledge of the use of ADO.NET with XML
  • Use XPath to query for content in an XML document
  • Use the XPathNavigator class to parse and edit XML documents
  • Use XSLT to transform XML documents into text, HTML or other XML
  • Use Language Integrated Query (LINQ) to manipulate XML documents
4 Days

Instructor-led course, with practical computer-based exercises.

Course Outline

  • 1. .NET Framework XML Overview
    • XML in the .NET Framework
    • .NET XML Namespaces and Classes
    • .NET XmlReader and XmlWriter
    • .NET DOM Parser
    • XML Serialization
    • XML and ADO.NET
    • XPath and XSLT
    • Language Integrated Query and XML
    • XML and the Web

  • 2. Reading XML Streams in .NET
    • XML Document Streams
    • The XmlReader Class
    • XmlReaderSettings
    • Accessing Node Properties with the .NET XML Classes
    • Accessing Attribute Values
    • Traversing the XML Document
    • Catching XmlExceptions

  • 3. Validating XML Streams
    • Specifying Valid Documents with XML Schema and DTD
    • Using Visual Studio 2010 to Create Schemas
    • Validating XML with XmlReader
    • .NET Schema Object Model

  • 4. Writing XML Streams in .NET
    • The XmlWriter Class
    • XmlWriterSettings
    • WriteXXX Methods
    • XmlWriter States
    • Writing Elements
    • Writing Attributes
    • Writing Namespaces

  • 5. The Document Object Model in .NET
    • Origins of the DOM
    • DOM Levels
    • DOM2 Structure
    • The XmlDocument Class
    • DOM Tree Model
    • DOM Interfaces
    • XmlDocument, XmlNode and XmlNodeList Classes
    • XmlElement and XmlText Classes
    • Finding Elements by Name
    • Walking the Child List
    • The XmlAttribute Class

  • 6. Manipulating XML Information with the DOM
    • Creating and Modifying Documents
    • Modifying Elements
    • Error Handling
    • Managing Children
    • Cloning
    • Splitting Text and Normalizing
    • Modifying Attributes

  • 7. XML Serialization
    • XmlSerializer
    • What Is Not Serialized
    • Writing and Reading XML
    • Customizing XML Serialization
    • XML Schema and XSD
    • Creating Classes from Schemas

  • 8. XML and ADO.NET
    • Strong Coupling Between ADO.NET and XML
    • Rendering XML from a DataSet
    • Controlling XML Output
    • Reading XML into a DataSet
    • XML Schema and DataSets
    • Typed DataSets
    • Synchronizing DataSets and XML

  • 9. XPath
    • Addressing XML Content
    • XPath in XSLT
    • Tree Structure
    • XPath Expressions
    • Context
    • Axis, Node Test, and Predicate
    • Abbreviations
    • XPath Functions
    • XPath and .NET
    • XPathNavigator
    • Editing with XPathNavigator

  • 10. Introduction to XSLT
    • XSL and XSLT
    • Rule-Based Transformations
    • Templates
    • Producing Text, HTML, and XML
    • XslCompiledTransform

  • 11. LINQ to XML
    • Language Integrated Query
    • Manipulating XML Documents in Memory with LINQ
    • LINQ Queries
    • Filtering, Ordering and Aggregation
    • Inserts, Deletes and Updates
    • LINQ Transformations

  • Appendix A. Zenith Courseware Case Study

  • Appendix B. Learning Resources

Hardware and Software Requirements

Required software is Visual Studio 2013. The free Visual Studio 2013 Express for Windows Desktop may be used. The operating system should be Windows 7SP1 or more recent. See the appropriate course Setup Guide for details.

A good minimal hardware profile for this course would have a 1.8 GHz or equivalent CPU, 2 GB of RAM, and at least 10 GB of free disk space for tools installation and courseware.

Notice: Undefined index: HTTP_REFERER in /var/www/datadeliverance/inc/trademarks.inc on line 3

Notice: Undefined index: HTTP_REFERER in /var/www/datadeliverance/inc/trademarks.inc on line 4

Notice: Undefined variable: REMOTE_USER in /var/www/datadeliverance/inc/trademarks.inc on line 7

Notice: Undefined index: HTTP_REFERER in /var/www/datadeliverance/inc/trademarks.inc on line 7

Notice: Undefined index: printer in /var/www/datadeliverance/inc/trademarks.inc on line 11

Go to course catalogue