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.