XML Programming using C# Training

Answers to Popular Questions:

 
Yes, this class can be tailored to meet your specific training needs.
Yes, we provide XML consulting services.
Yes, group discounts are provided.

Course Description

 
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.
Course Length: 4 Days
Course Tuition: $1590 (US)

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 Outline

 

NET Framework XML Overview
XML
Parsing XML
Using XML in .NET Applications
The .NET XML Classes
Parsing Techniques
.NET Parsing Techniques
XmlReader and XmlWriter Features
.NET DOM Parser Features
Location of .EXE File
Other XML Features in .NET
XML and the Web
Internet Explorer and XML

Reading XML Streams in .NET
The .NET XmlReader Classes
The XmlReader Properties
Accessing Nodes
Reading Attributes
MoveToNextAttribute
Using Streams with XmlTextReader
Catching the Exceptions
Moving Around the Document
Handling Whitespace
Parsing a Specific Document
Parsing the Top-Level Elements
Subroutines
Looping for Children
Text via Brute Force
ReadElementString()
Zenith Courseware Case Study
Miscellaneous Reading Methods
Handling Namespaces
The XmlNodeReader Class
Creating XmlReaders in .NET 2.0
Benefits of Using XmlReader.Create()

Validating XML Streams
Valid XML
The Trouble with Well-Formed XML
Formal Type Information
DTDs and XML Schema
XML Schema for a Stereo System
DTD and XML Schema Comparison
Invalid XML
A Validation Tool
Creating Schema with Visual Studio
Using the Schema Graphical Editor
Validating XML Streams
Validation Settings
Validation Flags
.NET Validation Code
Validation Events

Writing XML Streams in .NET
Writing XML in .NET
The XmlWriter Class
The XmlTextWriter Class
The State of Writer
Creating XmlWriters in .NET 2.0
Writing Out Elements
Writing Nested Elements
Writing Attributes

The Document Object Model in .NET
The Document Object Model (DOM)
Origins of the DOM
DOM2 Structure
DOM Tree Model
.NET DOM Classes
The XmlDocument Class
The XmlNode Class ? Basic Parsing
Polymorphic Node Types
The XmlNode Class ? Node Types
Basic Parsing
The XmlElement Class
The XmlAttribute Class
The XmlAttributeCollection Class
The XmlText Class
The XmlNodeList Class
Using a foreach Loop
Validation

Manipulating XML Information with the DOM
Modifying Documents
The XmlNode Class ? Modifications
Legal and Illegal Modifications
Managing Children
Cloning
Modifying Elements
Splitting Text and Normalizing
Modifying Attributes

Using XML Schema
Validating XML Documents
Limitations of DTDs
What is an XML Schema?
The XML Schema Recommendation
Schema vs. DTDs
Schema and Namespaces
The Schema Namespaces
Structure of a Schema
Schema Documents
Associating Documents with Schema
Developing a Content Model
Types of Types
Types of Types ? Diagram
XML Schema Tools
Case Study ? Movie Listings
Defining Elements
Defining Complex Types
Attributes
Multiple Cardinality
DTD versus XML Schema
Constraining Value Ranges
Anonymous Types
Schema Object Model
Validate Schema Tool
Validation Code
 
XML Serialization
Serialization in .NET
CLR Serialization
Circular List and XML Serialization
XML Serialization Infrastructure
What Will Not Be Serialized
XML Schema
XSD Tool
The XML Designer
A More Complex Schema
A Car Dealership
Deserializing According to a Schema
Type Infidelity
Customizing XML Serialization
XML Serialization and Web Services

XML and ADO.NET
ADO.NET
ADO.NET Architecture
.NET Data Providers
DataSet Architecture
Why DataSet?
DataSet Components
DataAdapter
Filling a DataSet
Accessing a DataSet
ADO.NET and XML
Rendering XML from a DataSet
XmlWriteMode
Writing Data as Attributes
Reading XML into a DataSet
DataSets and XML Schema
CourseSchema.xsd
Reading XML Schema
XmlReadMode
XML Data in DataTables
Typed DataSets
Table Adapter
Synchronizing DataSets and XML
Using XmlDataDocument

XPath
Addressing XML Content
XPath
The XSLT/XPath Console
Using the XPath Console
The XML InfoSet
XPath Tree Structure
Document Order
XPath Expressions
Context
XPath Grammar, From the Top
Decomposing an Expression
Location Paths
Axis, Node Test, and Predicate
The Axis
The Node Test
The Predicate
Abbreviations
Using Abbreviations
XPath Functions
XPath and .NET
XPath and XmlNode
XPathNavigator
Evaluate Method
XPathNodeIterator
XPathNavigator Class in .NET 2.0

Introduction to XSLT
The Strange Ancestry of XSLT
Input and Output
Rule-Based Transformation
Stylesheets and Transforms
Applying a Transform to a Document
Referencing a Stylesheet
Templates
XSLT Tools and Setup
Using the XSLT Console
XSLT and XPath
Style Sheets in the Browser
A Style Sheet for Browser Display
Browser Display
XSLT in the .NET Framework
New XSLT Processor

XML Performance Tradeoffs
XML Performance
Performance Measurements
Instrumenting an Application
Instrumentation Walkthrough
Implementation Code
XmlWriter versus the DOM
Validating vs. Non-Validating Readers
XSLT Performance

Appendix A - Zenith Courseware Case Study

Course Directory [training on all levels]