For i = 0 To xmlNode.childNodes.length - 1 With ListView1.ListItems.Add(, , xmlNode.childNodes(i).nodeName) .SubItems(1) = xmlNode.childNodes(i).Attributes(0).Text .SubItems(2) = xmlNode.childNodes(i).Attributes(1).Text .SubItems(3) = xmlNode.childNodes(i).Text End With NextEnd Sub
出现 with 变量未设置错误,刚接触XML,不知道错在哪
我做的一个treeview的 Dim objXML As DOMDocument Dim nXML As Node Dim childnode As Node Dim secondnode As NodePrivate Sub Command1_Click() 'xmlDom object 'Set objXML = CreateObject("Microsoft.XMLDOM") Set objXML = New DOMDocument objXML.async = False 'load the xml menu file objXML.Load ("mysites.xml") Set objLst = objXML.getElementsByTagName("site") 'how many items intNoOfHeadlines = objLst.length 'looping over the items -1 because it's starts from 0\ Set nXML = TreeView1.Nodes.Add(, , "root", "站点信息") 'Call LoadTree(nXML, children) For i = 0 To intNoOfHeadlines - 1 Set objHdl = objLst.Item(i) key1 = "p" & i Set childnode = TreeView1.Nodes.Add(nXML, tvwChild, "", objHdl.childNodes(0).Text) Set secondnode = TreeView1.Nodes.Add(childnode, tvwChild, "", objHdl.childNodes(1).Text) 'List2.AddItem objLst.Item(i).Attributes(i).Text 'List3.AddItem objHdl.childNodes(2).Text NextEnd Sub
'Xml文件结构如下:
' <?xml version="1.0" encoding="gb2312" ?>
'- <test>
' <type name="古典武侠">侠义天下</type>
'- <book name="寻秦记" author="黄易" price="25">
' <chapter2 title="科学疯子" page="87">被拉过去当实验品</chapter2>
' <chapter3 title="阴错阳差" page="44">实验失败,来到了三年前秦国</chapter3>
' <chapter4 title="美蚕娘" page="26">在荒野山村遇到美蚕娘</chapter4>
' </book>
' </test>
Dim xmlDom As New DOMDocument
Dim xmlNode As IXMLDOMElement
Dim i As Integer
xmlDom.Load (App.Path + "\xml.xml")
Set xmlNode = xmlDom.documentElement.childNodes(1)
If xmlDom.documentElement Is Nothing Then
Exit Sub
End If
ListView1.ListItems.Clear
With ListView1.ColumnHeaders
.Clear
.Add , , "章节"
.Add , , "题目"
.Add , , "页数"
.Add , , "内容简介"
.Item(1).Width = 1000
.Item(2).Width = 1000
.Item(3).Width = 600
.Item(4).Width = 1750
End With
For i = 0 To xmlNode.childNodes.length - 1
With ListView1.ListItems.Add(, , xmlNode.childNodes(i).nodeName)
.SubItems(1) = xmlNode.childNodes(i).Attributes(0).Text
.SubItems(2) = xmlNode.childNodes(i).Attributes(1).Text
.SubItems(3) = xmlNode.childNodes(i).Text
End With
NextEnd Sub
Dim objXML As DOMDocument
Dim nXML As Node
Dim childnode As Node
Dim secondnode As NodePrivate Sub Command1_Click() 'xmlDom object
'Set objXML = CreateObject("Microsoft.XMLDOM")
Set objXML = New DOMDocument
objXML.async = False
'load the xml menu file
objXML.Load ("mysites.xml")
Set objLst = objXML.getElementsByTagName("site")
'how many items
intNoOfHeadlines = objLst.length
'looping over the items -1 because it's starts from 0\
Set nXML = TreeView1.Nodes.Add(, , "root", "站点信息")
'Call LoadTree(nXML, children)
For i = 0 To intNoOfHeadlines - 1
Set objHdl = objLst.Item(i)
key1 = "p" & i
Set childnode = TreeView1.Nodes.Add(nXML, tvwChild, "", objHdl.childNodes(0).Text)
Set secondnode = TreeView1.Nodes.Add(childnode, tvwChild, "", objHdl.childNodes(1).Text)
'List2.AddItem objLst.Item(i).Attributes(i).Text
'List3.AddItem objHdl.childNodes(2).Text
NextEnd Sub
<mysites>
<site>
<topic>news</topic>
<name>CNN</name>
<url>http://www.cnn.com</url>
</site>
<site>
<topic>sport</topic>
<name>Sydney 2000</name>
<url>http://www.olympics.com</url>
</site>
<site><topic>Travel</topic><name>VirtualTourist</name><url>http://www.virtultourist.com</url></site><site><topic>computers</topic><name>Experts-exchange</name><url>http://www.experts-exchange.com</url></site><site><topic>computers</topic><name>Microsoft</name><url>http://www.microsoft.com</url></site><site><topic>sport</topic><name>Sportelo</name><url>http://www.sportelo.co.il</url></site><site><topic>computers</topic><name>myscript</name><url>http://www.myscript.co.il</url></site><site><topic>computers</topic><name>asp101</name><url>http://www.asp101.com</url></site><site><topic>y</topic><name>y</name><url>http://y</url></site></mysites>