对于我正在做的项目,我有不同数量的节点,节点名称为nib“number”_title 所以我正在使用for循环并且在该循环中我使用getElementsByTagName来表示节点但是如果它试图找到不存在的节点则会出错。
Microsoft VBScript运行时(0x800A01A8) 需要的对象:'xml.getElementsByTagName(...)。item(...)' /newsite/eg/eg.asp,第46行
那么我将如何测试以查看那里的节点然后如果是那么写呢?
我的ASP代码如下所示:
<%
Dim i
Dim objTest
For i = 1 to 3
Set objTest = xml.getElementsByTagName("nib"&i&"_title")
if Not (objTest Is Nothing) Then
Response.Write("<li><a style=""text-decoration: none; color:white;"" href=""#nib"&i&""">"&xml.getElementsByTagName("nib"&i&"_title").item(0).text&"</a></li>")
End If
Next
%>
答案 0 :(得分:0)
首先,我建议找出如何使用Visual Studio进行debugging,因为这会让您的生活变得更轻松(您可以在调试时检查对象)。
接下来出现错误信息的问题是我们不知道哪个“对象”VBScript意味着...它是指xml,getElementsByTagName(...)或.item(...)都代表你的对象正在访问。
最后,我还会检查getElementsByTagName返回的length of the NodeList。
答案 1 :(得分:0)
我的XML存在缺陷。相反,我将把我试图找到的所有节点放入一个节点,这样我就可以使用foreach循环,因为这样会更容易。