如何在ASP/vbscript中解析XML?

3
我有一个具有以下结构的结果字符串。
<items>
    <item>
       <id> 

我必须迭代到id,同时还有其他标签。我真的不知道在vbscript中该如何实现。我希望将所有id返回到一个数组中。

难道没有像这样的方法吗:

Dim doc
Dim thumbArray
Set doc = Server.CreateObject("MSXML2.DOMDocument")
doc.loadXML(searchresponse) 
thumbArray = doc.getElementsByTagName("id") 

for each tt in thumbArray
 Response.Write(tt & "<br>") 
next 

特别是这个:
getElementsByTagName("id") 

具体而言,我想要做这样的事情:

<script type="text/javascript"> 
window.onload = function() {
    var content = document.getElementById("content"); 
    var ids = content.getElementsByTagName("thumbnail"); 
    var pics = document.getElementById("pics"); 
    var tts = []; 
    for(var i=0;i<ids.length;i++)
    {
        tts.push("<li>+ ids[i].innerHTML + </li>"); 
    }
    pics.innerHTML = tts.join(""); 


}
</script>

你向我们展示了一些客户端JavaScript,但我猜想你实际上想在服务器端执行此操作。不清楚的是id元素内部是什么,那是HTML标记吗?如果是,它是以转义或CDATA形式还是格式良好的XML形式呈现的? - AnthonyWJones
2个回答

0

尝试类似这样的东西。

Set thumbArray = doc.getElementsByTagName("id") 

for index = 0 to thumbArray.Length
    Response.Write(thumbArray[index].nodeValue & "<br>") 
next 

看一下this


0

我已经有一段时间没有使用VB脚本了,但这应该可以帮助你入门。

Dim doc
Dim xmlString
Dim nodes
Dim idArray

Set doc = Server.CreateObject("MSXML2.DOMDocument")
doc.loadXML xmlString

Set nodes = doc.selectNodes("items/item/id")

idArray = Array()
Redim idArray(nodes.length)

For i = 0 To nodes.length
    idArray(i) = nodes(i)
Next

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接