Not only did performance suffer using the DOM since you had to wait for the document to be parsed and loaded, but the application processing the document tended to eat up significant amounts of memory.
As a result, Microsoft included the SAX APIs in MSXML 3.0 to provide an event-driven programming model for XML documents.
That being said, you can continue to use MSXML through COM Interop, although I think you'll find that porting code that works with the DOM will be relatively simple, while rewriting code that uses SAX, the Simple API for XML introduced in MSXML 3.0, will make for a more straightforward and efficient application. Data Public Sub Extract Students(By Val p File Name As String) Dim o Read As Xml Text Reader Try Dim str FName, str LName, str Org As String o Read = New Xml Text Reader(p File Name) o Read. By using a name table, the XML parser can reuse the strings in the table when returning element names and can use more efficient object pointer comparisons when doing comparisons. The arguments represent the namespace URI (as it is referred to in the document to be validated) and the URL of the schema to load. Close() End Try End Sub property that is used to store frequently used strings. Close() End Try End Sub Public Sub Validation Error(By Val o As Object, _ By Val args As Validation Event Args) ' Validation error occurred Log Validation Error(args) End Sub. Read Line Do While Not str Line Is Nothing str Student ID = Trim(Mid(str Line, 1, 5)) str FName = Trim(Mid(str Line, 13, 25)) str LName = Trim(Mid(str Line, 64, 25)) str Org = Trim(Mid(str Line, 115, 25)) ' Now write the Xml tw. Write Attribute String("Student ID", str Student ID) tw. Due to the ubiquitous nature of these exchanges, sooner or later developers will need to read and write XML documents, transform them with XSL, and validate them using XML schemas. Simply put, an entity reference allows an XML document to be compressed by defining an entity once in a document and referencing it multiple times like so: Public Sub Validate(By Val p File Name As String, By Val p Schema As String, _ By Val p Namespace As String) Dim o Read As Xml Text Reader Dim o Valid As Xml Validating Reader Try o Read = New Xml Text Reader(p File Name) o Valid = New Xml Validating Reader(o Read) Add Handler o Valid. In this article, Dan Fox discusses the support in the Services Framework for working with XML in these ways. Validation Event Handler, _ New Validation Event Handler(Address Of Validation Error) o Valid. One of the recurring requests has been for a full tutorial covering the creation of an application, from design to deployment, using Visual Basic and My SQL.In response to these requests I have written this article as the first of a series of articles that will provide a full tutorial for the creation of an application using Visual Basic. I will cover application design, database design, VB.While this alleviated the performance and memory constraints of the DOM, it did so at the cost of complexity. Data Dim cn As New Sql Connection("server=ssosa;database=enrollment;uid=sa") Dim cm As New Sql Command( _ "SELECT FName, LName, Company FROM Student FOR XML AUTO, XMLDATA", cn) Dim xmlr As Xml Reader Dim ds As New Data Set() cn. The implementation is in many ways a melding of the DOM and SAX and provides a simplified programming model like the DOM but in a stream-based architecture. At the core of this API are the classes, which provide read-only, forward-only cursor access to XML documents and an interface for writing out XML documents, respectively. Since these class implement a stream-based approach, they do not require that the XML document be parsed into a tree structure and cached in memory as happens when working with the document through the DOM.