<ObjectArrayToXml xmlns="http://www.something.com/">
<itemslist>
<Size>18</Size>
<ItemInfo>
<Pass>5225</Pass>
<AgentName>aaaaaa</AgentName>
<Document>6763</Document>
</ItemInfo>
<ItemInfo>
<Pass>1223</Pass>
<Document>77755</Document>
**here the tag of AgentName will be missing
</ItemInfo>
<ItemInfo>
<Pass>45344</Pass>
<AgentName>bbbbbbb</AgentName>
<Document>22234</Document>
</ItemInfo>
</itemslist>
</ObjectArrayToXml>
我们正在获得上述结构,包含所有3个标签Pass,AgentName,Document,每个项目超过4年 我们一直在成功地进行扫描和打印:
Set NodeList = xmlDoc.documentElement.selectNodes("//ObjectArrayToXml/itemslist/ItemInfo")
For Each Node In NodeList
response.write Node.selectSingleNode("Pass").text
response.write Node.selectSingleNode("AgentName").text
response.write Node.selectSingleNode("Document").text
Next
xml的结构发生了变化,现在我们并不总是得到AgentName的标签 - 它可能根本不适用于某些项目。 我现在需要检查每个项目是否存在标签,然后我写了这段代码:
set xxx = xmlDoc.selectSingleNode("//AgentName")
If Not xxx Is Nothing Then
response.write Node.selectSingleNode("AgentName").text
End If
如果所有商品都有此标签或所有商品都没有此标签,则效果很好。但是,一旦某些项目有此标记而其他项目没有,那么页面崩溃,我会给出500错误。 我意识到xmlDoc.selectSingleNode(&#34; // AgentName&#34;)必须只查看第一个项目并假设所有其余项目具有相同的taga,并且不检查每个项目是否存在AgentName标记。 我可能不对,你能建议如何检查每个项目中是否存在这个标签吗?
答案 0 :(得分:0)
在每次迭代中检查当前AgentName
的{{1}},在Node
循环中尝试类似的内容:
For Each