为什么出错呢

killvs 2008-11-16 03:20:06
Dim xmldoc As New MSXML.DOMDocument
Private Sub Form_Load()
Dim root As IXMLDOMNode
Dim node As IXMLDOMNode
Dim node1 As IXMLDOMElement
Dim xmlabt As IXMLDOMAttribute
Set root = xmldoc.createElement("start")
Set node = xmldoc.createElement("db")
Call xmldoc.appendChild(root)
Call root.appendChild(node)
Set node1 = xmldoc.createElement("table")

Set xmlabt = xmldoc.createAttribute("name")
xmlabt.Text = "value"
Call node1.setAttributeNode(xmlabt)
Call node.appendChild(node1)
xmldoc.save "c:\1.xml"



MsgBox find(root).Attributes(0).Text ' 这里出错 这是为什么呢

End Sub

Function find(node As IXMLDOMElement) As IXMLDOMElement
Dim i As Integer, j As Integer
For i = 0 To node.childNodes.length - 1
If node.childNodes(i).nodeName = "table" Then
For j = 0 To node.childNodes(i).Attributes.length - 1

If node.childNodes(i).Attributes(j).nodeName = "name" And node.childNodes(i).Attributes(j).nodeValue = "value" Then

MsgBox node.childNodes(i).Attributes(0).Text
Set find = node.childNodes(i)
Exit Function
End If
Next j
End If
If node.childNodes(i).childNodes.length > 0 Then
Call find(node.childNodes(i))
End If
Next i

End Function
...全文
86 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
vbman2003 2008-11-17
  • 打赏
  • 举报
回复
没细分析你的代码,按你的示例数据,读取属性只要:

Dim oXmlDoc As DOMDocument
Dim oXmlNode As IXMLDOMNode
Dim oXmlNodes As IXMLDOMNodeList
Dim FileName As String
Dim i As Long

FileName = App.Path & "\t.xml"

Set oXmlDoc = New DOMDocument
oXmlDoc.Load (FileName)
Set oXmlNodes = oXmlDoc.documentElement.selectNodes(".//table")

While i < oXmlNodes.length
For Each oXmlNode In oXmlNodes.Item(j).Attributes
Debug.Print oXmlNode.nodeName & " = " & oXmlNode.Text
Next
i = i + 1
Wend
Set oXmlNode = Nothing
Set oXmlNodes = Nothing
Set oXmlDoc = Nothing
killvs 2008-11-17
  • 打赏
  • 举报
回复
楼上的我的代码只是个例子 ,并不是这么简单的几层,有好多层的. 我的目的就是写个 fendxmlnode的函数 让他返回找到的xmlnode 我好进一步操作
killvs 2008-11-16
  • 打赏
  • 举报
回复
- <start>
- <db>
<table name="value" />
</db>
</start>
vbman2003 2008-11-16
  • 打赏
  • 举报
回复
你应该贴一下你的xml结构...

1,502

社区成员

发帖
与我相关
我的任务
社区描述
VB 网络编程
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧