Remember 11/15/2001 2:58:42 PM when I whine about SAX and VB6? Well, just as I expected (and if I'd hadn't've been so laz... ur, busy, I woulda figured out), it's easier than that. Sheesh. Cut and paste and hack that code a touch (it was written for "classic" ASP) and you're ready to go. Below is what it looks like after being slightly edited for my test XML file and smacked into a VB6 app. This should work for any XML file with elements named "issue" where each "issue" element has text for each of its first child elements. It's pretty easy to change the "issue" bit to suit your examples. ;^) Sorry for the loss of whitespace, but I'm not switching all the tabs into & n b s p ; 's (whitespace added with pre tags -- duh! -- 11/18/2003)

(Note: I'm working on an even easier, more abstracted/generic example app that writes and edits XML that actually includes useful comments. I'll try and post a link to that once I'm through):


' Begin ye ole Form1 code (has a Command Button called
' Command1 and a Textbox with multiline set to true called
' Text1)

Option Explicit

Private Sub Command1_Click()
Dim strFilename, strXMLFile
Dim oXML As MSXML2.DOMDocument
Dim bitFileExists As Integer
Dim lstElements As MSXML2.IXMLDOMNodeList
Dim tmpElement As Variant

' find xml file path
strFilename = "temp.xml"
strXMLFile = App.Path & "\" & strFilename

' standard "create xml object" code
'Set oXML = server.CreateObject("Microsoft.XMLDOM")
Set oXML = New MSXML2.DOMDocument
oXML.async = False

' check file exists
bitFileExists = oXML.Load(strXMLFile)

If Not bitFileExists Then
Text1.Text = Text1.Text & ("Error: " & strFilename & " does not exist")
GoTo errHand
End If

If oXML.parseError.errorCode <> 0 Then
Text1.Text = Text1.Text & ("There is a parsing error on your file (" & _
strFilename & ") " & oXML.parseError.reason)
Text1.Text = Text1.Text & ("Line: " & oXML.parseError.Line & _
" Position: " & oXML.parseError.linepos)
GoTo errHand
End If

Set lstElements = oXML.getElementsByTagName("issue")

For Each tmpElement In lstElements

Text1.Text = Text1.Text & ("Issue Name: " & tmpElement.childnodes(0).Text) & vbNewLine


Exit Sub
Text1.Text = Text1.Text & "Error"
End Sub