XML and .NET

Alok Pota and Jawahar Puvvala

If you've been developing Java applications and now you are going to be working in the .NET Framework, you need to know everything, right away. Well, help is at hand. Here's a tip, excerpted from InformIT, which talks about the relationship between .Net and the XML extensible markup language.

Because of its extensible nature, XML can be used for a variety of purposes. Modern applications use XML as a messaging protocol, as a transport protocol, and even for backend data storage. The .NET platform uses XML as its key technology in ASP.NET, Web services, and so on. The .NET Framework XML classes are also tightly coupled with Managed Data Access (ADO.NET). Traditionally, there have always been different programming models for working with relational versus hierarchical data. The .NET platform, however, allows for transparent translation of relational data to XML and vice versa. This makes it possible to retrieve a relational ADO.NET dataset and walk it using the DOM, query or navigate it using XPath 1.0, and transform it using XSLT 1.0.

As mentioned earlier, the primary language-neutral APIs for parsing XML documents are the DOM and the SAX API. The DOM API stores the XML document in a tree data structure, thereby allowing complete navigation of all the elements (in no particular order). Users can modify the DOM tree. This API is very convenient, but it can consume a lot of memory when you're working with large documents.

The SAX API was developed to counter the defects of the DOM API. The SAX API uses an event-driven model in which parsing every character of the XML document is handled through event listeners. The parser parses the document in only one direction. The SAX API puts the onus of handling the state of the document parsing on the end user, and therefore it is inherently difficult and awkward to use.

The .NET XML classes support both DOM and SAX-like APIs. The SAX-like API in .NET is an improvement over the traditional SAX model, in the sense that it gives a lot more control to the end user during the parsing process. The so-called pull model used by .NET's version of SAX allows programmers to skip sections of the document, process only certain elements of the document, and interact a lot more with the document. You can say that .NET's SAX sits between DOM and pure SAX. It mixes the convenience of DOM with the power of the pure SAX API.

To read the entire article from which this tip comes, click over to InformIT.

This was first published in July 2003

There are Comments. Add yours.

TIP: Want to include a code block in your comment? Use <pre> or <code> tags around the desired text. Ex: <code>insert code</code>

REGISTER or login:

Forgot Password?
By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy
Sort by: OldestNewest

Forgot Password?

No problem! Submit your e-mail address below. We'll send you an email containing your password.

Your password has been sent to:

Disclaimer: Our Tips Exchange is a forum for you to share technical advice and expertise with your peers and to learn from other enterprise IT professionals. TechTarget provides the infrastructure to facilitate this sharing of information. However, we cannot guarantee the accuracy or validity of the material submitted. You agree that your use of the Ask The Expert services and your reliance on any questions, answers, information or other materials received through this Web site is at your own risk.