高分悬赏 VB 根据节点名字获取XML文件中的对应节点的属性值
网上说getElementsByTagName方法可以,但是我试了下没搞出来。如1.XML文件如下:<1><2></2><3><4Remark=""></4><3></1...
网上说getElementsByTagName方法可以,但是我试了下没搞出来。
如1.XML文件如下:
<1>
<2></2>
<3>
<4 Remark=""></4>
<3>
</1>
如果我想获取节点4的Remark属性,应该怎么写这个查找语句。注意,我这是手动输入这个节点的名字,事先并不知道这个节点的位置。 展开
如1.XML文件如下:
<1>
<2></2>
<3>
<4 Remark=""></4>
<3>
</1>
如果我想获取节点4的Remark属性,应该怎么写这个查找语句。注意,我这是手动输入这个节点的名字,事先并不知道这个节点的位置。 展开
1个回答
展开全部
xml="<note><to>George</to><from>John</from><heading>Reminder</heading ><body remark=""szqlay"">Don't forget the meeting!</body></note>"
Dim xmldocSet xmldoc = WScript.CreateObject("msxml2.domdocument")
xmldoc.async=false
xmldoc.loadxml(xml)
dim cnode
Set cnode=xmldoc.getElementsByTagName("body").item(0)
MsgBox cnode.text
MsgBox cnode.attributes.item(0).text
说实在,用数字作标签估计行不通,我试了下不能。这是用vbs脚本,或许放到vb中也行。你可自己把body改成数字试一下。
追答
Private Sub Command1_Click()
Dim xml
xml = "<note><to>George</to><from>John</from><heading>Reminder</heading ><body remark=""szqlay"">Don't forget the meeting!</body></note>"
Dim xmldoc
Set xmldoc = CreateObject("msxml2.domdocument")
xmldoc.async = False
xmldoc.loadxml (xml)
Dim cnode
Set cnode = xmldoc.getElementsByTagName("body").Item(0)
MsgBox cnode.Text
MsgBox cnode.Attributes.Item(0).Text
End Sub
‘你复制到vb中,能运行了,这个CreateObject("msxml2.domdocument") 建立xmlDocument对象,是转门解析xml文本的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询