- From: gaurav verma <citius21j@yahoo.com>
- Date: Mon, 9 May 2005 18:55:00 -0700 (PDT)
- To: www-dom@w3.org
- Message-ID: <20050510015500.21770.qmail@web31303.mail.mud.yahoo.com>
Hi,
I want to code a general XML parser which parses XML files into a textbox in VB.
I am able to parse all the nodes and child nodes except the ones with attribute..Please see below for my input XML file...code...output and the desired output...
***********************
INPUT XML
***********************
- <address>
<name>Jonty</name>
<petname>Popo</petname>
<address>Your house</address>
<tell>you tell me 12321</tell>
- <addresstt hi="ho">
<name1>Jippa</name1>
<tell1>9873</tell1>
</addresstt>
</address>
*********************************************
Output I am getting now
******************************************
name:Jonty
petname:Popo
address:Your house
tell:you tell me 12321
name1:Jippa
tell1:9873
*********************************************
Desired Output
*********************************************
Address
name:Jonty
petname:Popo
address:your house
tell:you tell me 12321
Addresstt
hi:ho
name1:Jippa
tell1:9873
******************************************
As you see with my code I can't capture the items in BOLD....
****************************************************************
Here is my code...
Option Explicit
Dim xml_document As DOMDocument
Dim xDoc As MSXML.DOMDocument
Private m_AppPath As String
Private Sub LoadValues()
' Load the document.
Set xDoc = New MSXML.DOMDocument
xDoc.Load m_AppPath & "output.xml"
' If the file doesn't exist, then
' xml_document.documentElement is Nothing.
If xDoc.documentElement Is Nothing Then
' The file doesn't exist. Do nothing.
Exit Sub
End If
' Find the Values section.
End Sub
Public Sub DisplayNode(ByRef Nodes As MSXML.IXMLDOMNodeList, _
ByVal Indent As Integer)
Dim currNode As IXMLDOMNode
Dim xNode As MSXML.IXMLDOMNode
Indent = Indent + 2
For Each xNode In Nodes
If xNode.nodeType = NODE_TEXT Then
Text1.Text = Text1.Text & Space$(Indent) & xNode.parentNode.nodeName & _
":" & xNode.nodeValue & vbCrLf
End If
If xNode.nodeType = NODE_CDATA_SECTION Then
Text1.Text = Text1.Text & xNode.nodeValue & vbCrLf
End If
If xNode.hasChildNodes Then
DisplayNode xNode.childNodes, Indent
End If
Next xNode
End Sub
Private Sub Form_Load()
' Get the application's startup path.
m_AppPath = App.Path
If Right$(m_AppPath, 1) <> "\" Then m_AppPath = m_AppPath & "\"
' Load the values.
LoadValues
DisplayNode xDoc.childNodes, 0
End Sub
************************************************************************************
I want to develop a generic parser so I dont want to use getattribute('hi')....
This is my first post here...and I am a newbie to VB and XML....Any help will be greatly appreciated...
Looking forward to your help....
Thanks
---------------------------------
Do you Yahoo!?
Yahoo! Small Business - Try our new resources site!
Received on Tuesday, 10 May 2005 04:23:41 UTC