XML Programming Using C# and .NET

Current Version: 2.1
Summary

This comprehensive and practical four-day course builds skills in .NETs XML processing APIs - chiefly parsing using XmlReader and the Document Object Model (DOM), writing XML streams using XmlWriter, and transformations using XPath and XSLT, 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. The course includes a practical discussion of performance tradeoffs using various XML technology alternatives. New features in System.Xml in .NET 2.0 are discussed in the context of where the topics are covered. Visual Studio 2005 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.

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.

Prerequisites
Prerequisites: 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 Schema to express precise type information for an XML document and Visual Studio 2005 to create schemas
  • 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
  • Evaluate performance tradeoffs in alternative XML technologies
Length
4 Days

Format
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
    • How Does the MSXML Fit in .NET
    • .NET XmlReader and XmlWriter
    • .NET DOM Parser
    • XML Serialization
    • XML and ADO.NET
    • XPath and XSLT
    • XML and the Web

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

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

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

  • 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. Using XML Schema
    • What is an XML schema?
    • Schemas vs. DTDs
    • Structure of a Schema
    • Schema vs. Instance Document
    • Associating Schemas with Documents
    • Visual Studio 2005 Graphical Schema Editor
    • .NET Schema Object Model

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

  • 9. 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

  • 10. 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 in .NET 2.0

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

  • 12. XML Performance Tradeoffs
    • DOM versus XmlReader/XmlWriter
    • Validating versus Non-Validating Parser
    • XPathDocument versus XmlDocument in XSLT
    • Benchmarking XML Performance

  • Appendix A. Zenith Courseware Case Study

  • Appendix B. Learning Resources

Hardware and Software Requirements

The course runs using Visual Studio 2005. The recommended operating system is Windows XP with Service Pack 2. See the appropriate course Setup Guide for details.

A good minimal hardware profile for this course would have a Pentium 500-MHz or equivalent CPU, 256 MB of RAM, and at least 4 GB of free disk space for tools installation and courseware. Copyright © 2006 o Object Innovations

References


Go to course catalogue