Course Catalog
Curriculum Guides
  .NET
  Java/J2EE
  XML
Downloads
Buy Courseware
Customization
News
Authors
Technical Library
FAQ
About Object Innovations
Opportunities
Contact Us
Home

 

 

   
www.objectinnovations.com
info@objectinnovations.com
877-558-7246 (toll free)  
781-466-8012  

414.  XML Programming Using C# and .NET

Rev. 2.2

 

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, 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. The main lab track uses console and Windows Forms client programs, and an optional Web lab track is available that provides ASP.NET client programs.

 

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.

 

LEARNING OBJECTIVES

 

·         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

 

Course Duration:  4 days

 

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.

 

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

 

 

System 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.