Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml 在VBScript中搜索正确的属性_Xml_Vbscript - Fatal编程技术网

Xml 在VBScript中搜索正确的属性

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 "抓错", 出错时继续下一步 '加

我现在想知道每个“活动”的ID,并在循环中使用这个ID号,这样我就可以用ID检查数据库中的名称和名称

但是我如何在VBScript代码中正确地获取ID number->属性,这样我就可以计算ID号,这样我就知道我必须执行多少循环,然后用数据库中的ID检查ID是否正确

我的XML:


峡谷
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请参阅更新的答案。如需进一步帮助,请发布带有更新代码的新问题。