读xml中的多条记录怎样读

smalllove 2003-08-27 02:57:58
我想问下要是读xml中的多条记录怎样读,如:<资料>
<个人信息>
<姓名>jun</姓名>
<年龄>23</年龄>
<性别>男</性别>
</个人信息>
<个人信息>
<姓名>ben</姓名>
<年龄>22</年龄>
<性别>男</性别>
</个人信息>
<个人信息>
<姓名>ling</姓名>
<年龄>23</年龄>
<性别>女</性别>
</个人信息>
</资料>
我应该怎样把一条条〈个人信息〉取出其姓名、年龄、性别,用vb是这样写的?
谢谢!
...全文
103 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
富察咪咪 2003-08-29
  • 打赏
  • 举报
回复
再给你一个比较完整的例子,我已经测过的
'------------------------------------
'文件<?xml version="1.0" encoding='GB2312'?>
<资料>
<个人信息>
<姓名>jun</姓名>
<年龄>23</年龄>
<性别>男</性别>
</个人信息>
<个人信息>
<姓名>ben</姓名>
<年龄>22</年龄>
<性别>男</性别>
</个人信息>
<个人信息>
<姓名>ling</姓名>
<年龄>23</年龄>
<性别>女</性别>
</个人信息>
</资料>

'------------------------------------
'程序将XML的内容添加到cboList列表框
Public Sub funGetXmlList( _
ByVal strText As String, _
ByVal strSingName As String, _
ByVal strTagName As String, _
ByVal intIndex As Integer, _
ByRef objName As Object)
If Run_Mode = -1 Then
On Error GoTo hidden
End If
Dim i As Integer
Dim strTmp As String
Dim xmlDoc As MSXML2.DOMDocument40
Set xmlDoc = New MSXML2.DOMDocument40
Dim objNode As IXMLDOMElement
Dim NodeList As IXMLDOMNodeList
'加载XML数据到XML文挡对象
xmlDoc.async = False
xmlDoc.Load (strText) '如果直接读文件这样写
objName.Clear
'取得发送信息
Set objNode = xmlDoc.selectSingleNode("//" & strSingName)
If Not objNode Is Nothing Then
Set NodeList = objNode.getElementsByTagName(strTagName)
For i = 0 To NodeList.length - 1
objName.AddItem (NodeList.Item(i).childNodes(intIndex).Text)
Next
End If
Set objNode = Nothing
Set NodeList = Nothing
Exit Sub
hidden:
MsgBox Err.Description, vbOKOnly, "提示"
On Error Resume Next
Set objNode = Nothing
Set NodeList = Nothing
Err.Clear
End Sub

Private Sub Command1_Click()
'向列表框添加个人信息只姓名
Call funGetXmlList("c:/xml.xml", "资料", "个人信息", 0, cboList)
End Sub
富察咪咪 2003-08-27
  • 打赏
  • 举报
回复
读多条记录添加到comboBox中
Public Sub funGetXmlList( _
ByVal strText As String, _
ByVal strSingName As String, _
ByVal strTagName As String, _
ByVal intIndex As Integer, _
ByRef objName As Object)
If Run_Mode = -1 Then
On Error GoTo hidden
End If
Dim i As Integer
Dim strTmp As String
Dim objNode As IXMLDOMElement
Dim NodeList As IXMLDOMNodeList
'加载XML数据到XML文挡对象
xmlDoc.async = False
xmlDoc.loadXML (strText)
objName.Clear
'取得发送信息
Set objNode = xmlDoc.selectSingleNode("//" & strSingName)
If Not objNode Is Nothing Then
Set NodeList = objNode.getElementsByTagName(strTagName)
For i = 0 To NodeList.length - 1
objName .AddItem (NodeList.Item(i).childNodes(intIndex).Text)
Next
End If
Set objNode = Nothing
Set NodeList = Nothing
Exit Sub
hidden:
MsgBox Err.Description, vbOKOnly, "提示"
On Error Resume Next
Set objNode = Nothing
Set NodeList = Nothing
Err.Clear
End Sub

7,763

社区成员

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

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