Xml 在VBScript中搜索正确的属性
我现在想知道每个“活动”的ID,并在循环中使用这个ID号,这样我就可以用ID检查数据库中的名称和名称 但是我如何在VBScript代码中正确地获取ID number->属性,这样我就可以计算ID号,这样我就知道我必须执行多少循环,然后用数据库中的ID检查ID是否正确 我的XML:Xml 在VBScript中搜索正确的属性,xml,vbscript,Xml,Vbscript,我现在想知道每个“活动”的ID,并在循环中使用这个ID号,这样我就可以用ID检查数据库中的名称和名称 但是我如何在VBScript代码中正确地获取ID number->属性,这样我就可以计算ID号,这样我就知道我必须执行多少循环,然后用数据库中的ID检查ID是否正确 我的XML: 峡谷 24 乔斯 32 贾斯敏 25 VBScript: Dim XMLo、XMLname、item、TextA、TextB、strQueryA、strQueryB、XMLage "抓错", 出错时继续下一步 '加
峡谷
24
乔斯
32
贾斯敏
25
VBScript:
Dim XMLo、XMLname、item、TextA、TextB、strQueryA、strQueryB、XMLage
"抓错",
出错时继续下一步
'加载XML文件
设置XMLo=CreateObject(“Microsoft.XMLDOM”)
XMLo.Async=“False”
Load(“C:\Storage Card SD\map\TEST.xml”)
strQueryA=“(/acties/actie/Name)”
strQueryB=“(/acties/actie/Age)”
设置elem=XMLo.DocumentElement.FirstChild
设置XMLname=XMLo.SelectNodes(strQueryA)
设置XMLage=XMLo.SelectNodes(strQueryB)
对于XMLname中的每个项
TextA=TextA&item.NodeName&“:”&“&item.Text
下一个
对于XMLage中的每个项
TextB=TextB&item.Nodename&“:”&“&item.Text
下一个
智能标签(“名称”)=TextA
智能标签(“年龄”)=TextB
如果错误号为0,则
ShowSystemAlarm“Error#”和CStr(错误编号)&“&错误描述
呃,明白了
出口接头
如果结束
ShowSystemAlarm“读取XML数据成功!”
端接头
您可以像这样在ID上循环:
选择节点(“/acties/actie”)
id=el.GetAttribute(“id”)
'...
'根据数据库检查ID
'...
如果id_是_数据库中的_,则
name=el.SelectSingleNode(“./name”).Text
年龄=el。选择单节点(“./age”)。文本
退出
如果结束
下一个
用适当的条件替换数据库中的id。。以下代码片段
strQueryC = "//acties"
Set XMLID = XMLo.selectnodes(strQueryC)
For Each item In XMLID
set IDs = Item.SelectNodes("actie")
For Each xx In IDs
TextC = TextC & vbNewLine & xx.GetAttribute("ID") & vbTab & xx.text
Next
Next
返回TextC
as
1 Glen 24
2 Jos 32
3 Jasmien 25
谢谢你的回复!我想首先计算所有ID(属性)。如果我有例如6个ID,我想循环ID的6次,如果ID与数据库(DB)中的不同,我想在循环的末尾发送一条消息“找不到ID”。如果ID在数据库中,我希望循环停止在那里,并通过SmartTags use向我的hmi发送和。我也有很快的错误“过环”。。。有人知道我怎么会变成那样吗?我有一个非常新的VBscript,但我已经搜索了3天了。。。最好的regards@G.VS请参阅更新的答案。如需进一步帮助,请发布带有更新代码的新问题。