我根本不习惯使用XML,所以这似乎是一个愚蠢的问题。我有一个xml文档,总是这样形成:
<lists>
<list subscriber_count="5048" display_name="" name="GiNsubs" id="705381"/>
</lists>
我需要在空元素'list'中获取'name'属性的值。由于它是空的,我尝试过的任何东西都不能将'list'元素作为对象,所以我可以在它上面使用GetAttribute。我已经尝试过GetElementbyTagName,SelectSingleNode,甚至是FirstChild,但似乎没有任何东西可以将'list'元素作为节点。作为参考,我的代码目前如下:
valid = "No"
Set xmldoc = Server.CreateObject("Microsoft.XMLDOM")
Set objLst = Server.CreateObject("Microsoft.XMLDOM")
xmldoc.async = false
xmldoc.Load ("{XML document location}")
Set objLst = xmldoc.selectsinglenode("list")
if objLst.GetAttribute("name") = "GiNsubs" then
valid = "Yes"
end if
当前产生的错误是“GetAttribute”行上的“Object required”。
感谢任何帮助。
哦,顺便说一句,这个XML文档来自API,因此改变XML格式并不是一种选择。
答案 0 :(得分:0)
当我尝试时,以下工作
<%
valid = "no"
Set xmldoc = Server.CreateObject("Microsoft.XMLDOM")
xmldoc.setProperty "ServerHTTPRequest", True
xmldoc.async = False
xmldoc.validateOnParse = False
'stop 'uncomment to trigger a debugger break here (if you're setup for server-side debugging)
xmldoc.Load "http://domain/subfolder/deleteme.xml" 'add your URL here
xmlDoc.setProperty "SelectionLanguage", "XPath"
Set objLst = xmldoc.selectsinglenode("lists/list")
If objLst.GetAttribute("name") = "GiNsubs" Then
valid = "Yes"
End If
%>
<html>
<head>
<title>XML XPath Test</title>
</head>
<body>
<%=Valid %>
</body>
</html>