2010-02-15 82 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