高分悬赏 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属性,应该怎么写这个查找语句。注意,我这是手动输入这个节点的名字,事先并不知道这个节点的位置。
展开
 我来答
szqaly
2013-09-09 · TA获得超过1745个赞
知道大有可为答主
回答量:2107
采纳率:77%
帮助的人:1527万
展开全部
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文本的。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式