Problem solve Get help with specific problems with your technologies, process and projects.

Universal XML API

An XML primer for MS's .NET.


Universal XML API
Dale Michalk

What's up with .NET? Windows developers will likely be spending a lot of time with this initiative over the coming months and years. This tip, excerpted from InformIT, discusses a universal API for XML, and discusses how different classes interact with one another.

XpathNavigator provides a generic access API over multiple types of document sources. The XmlDocument class of the DOM world, the XmlDataDocument class that bridges the DOM world with ADO.NET and the DataSet, and the XPathDocument class that we focus on in this article for XPath/XSLT document processing are all capable of producing an XPathNavigator from their XML data sources. They signal this capability to outside clients by implementing the IXPathNavigable interface, which has a single method named CreateNavigator that returns an instance of XPathNavigator. XslTransform, the workhorse class for XSLT processing in .NET, is able to consume XPathNavigator and XPathDocument instances to transform documents in an efficient manner.

XPathNavigator shares the cursor-style access paradigm and the read-only limitation of XmlReader. If you need to create XML content, you have to look at the XmlDocument or XmlWriter classes. Fortunately, XPathNavigator is well suited for quick and easy information retrieval. Data retrieval and cursor movement are accomplished by methods and attributes anchored on the XPathNavigator class. The attributes in the following list are remarkably similar to the XmlReader class.

  • Name
  • Value
  • NodeType
  • LocalName
  • Prefix
  • HasAttributes
  • HasChildren

To read the article from which this tip is excerpted, click over to InformIT. You have to register there, but the registration is free.

Dig Deeper on .NET Framework development with XML and XAML

Start the conversation

Send me notifications when other members comment.

Please create a username to comment.