XML has rapidly gained popularity. Enterprise applications are using XML as the main data format for data exchanges.
ADO.NET breaks away from the COM-based recordset and employs XML as its transport data format. Because XML is platform independent, ADO.NET extends the reach to include anyone who is able to encode/decode XML. This is a big advantage over ADO because a COM-based recordset is not platform independent.
Even though XML is text based and readable by humans, you still should have some way of programmatically reading, inspecting, and changing XML. This is the job of XML parsers. There are two kinds of XML parsers: tree-based and event-based. Depending on your needs, these two types of parsers should complement each other and serve you well.
Tree-based XML parsers read the XML file (or stream) in its entirety to construct a tree of XML nodes. Think of these XML nodes as your XML tag:
<car> <vin>VI00000383148374</vin> <make>Acura</make> <model>Integra</model> <year>1995</year> </car>
When parsed into a tree, this information would have one root
car; and under car, there are four
year. As you might
have suspected, if the XML stream is very large in nature, then a
tree-based XML parser might not be a good idea. The tree would be too
large and consume a lot of memory.
An event-based XML parser reads the XML stream as it goes. SAX (Simple API for XML) is a specification for this kind of parsing. The parser raises events ...