2010-02-15 66 views
3

我有以下结构如何在ASP/vbscript中解析XML?

<items> 
    <item> 
     <id> 

结果字符串我必须通过遍历到的ID和我有一些其他的标签,也有。 我真的不知道如何在VBScript中做到这一点。我希望所有的id:s都以数组形式返回。

有没有很喜欢这一个方法:

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> 
+0

你已经向我们展示了一些客户端JavaScript,但我猜你实际上想要做这个服务器端。哪一个不清楚的是id元素里面是什么,会不会是html标记?如果是这样,它是以逃逸或CDATA的形式,或者它是格式良好的XML。 – AnthonyWJones 2010-02-15 23:47:42

回答

1

尝试类似这样的东西。

Set thumbArray = doc.getElementsByTagName("id") 

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

看看this

1

这是一个而因为我已经与Vb Script一起工作,但这应该让你开始。

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