1

我根本不习惯使用 XML,所以这似乎是一个愚蠢的问题。我有一个 xml 文档,它将始终像这样形成:

<lists>
  <list subscriber_count="5048" display_name="" name="GiNsubs" id="705381"/>
</lists>

我需要在那个空元素“列表”中获取“名称”属性的值。由于它是空的,因此我没有尝试将“列表”元素作为对象获取,因此我可以在其上使用 GetAttribute。我尝试过 GetElementbyTagName、SelectSingleNode 甚至 FirstChild,但似乎没有任何东西可以将“列表”元素作为节点。作为参考,我的代码目前如下:

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 的格式并不是一个真正的选择。

4

1 回答 1

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>
于 2013-04-21T16:37:20.657 回答