2013-10-29 110 views
0

我正在向服務器發送ajax請求,服務器以xml格式提供數據。使用javascript從xml數據獲取值

我從服務器獲取值並將其存儲在變量中。

<pre>var strXML = '<?xml version="1.0" encoding="utf-8"?> 
    <Events> 
    <EventItem><Country>Hong Kong</Country></EventItem> 
    <EventItem><Country>India</Country></EventItem> 
    </Events>'; 
</pre> 

如何使用javascript獲取EventItem的所有信息。

謝謝。

+0

請看看http://stackoverflow.com/editing-help#code並正確地設置你的代碼格式。 *編輯:*編輯完成後,您的示例不再包含XML。 –

回答

1

你會先解析你的字符串,變成一個真正的XML結構:

toXML = function(text){ 
    if(window.ActiveXObject) 
    { 
     var doc=new ActiveXObject('Microsoft.XMLDOM'); 
     doc.async='false'; 
     doc.loadXML(text); 
    } 
    else 
    { 
     var parser=new DOMParser(); 
     var doc=parser.parseFromString(text,'text/xml'); 
    } 
    return doc; 
} 

[...] 

var myXML = toXML(strXML); 

然後你通過它導航。你會發現很多方法來做到這一點:http://www.w3schools.com/xml/xml_examples.asp

+0

我upvoted,但我建議轉動if/else的其他方式,並檢查window.DOMParser即如果(window.DOMParser){/ *代碼* /}其他{/ *毫秒的東西* /} – melc

+0

謝謝。雖然我上次搜索了xpath的東西,但是我對xml提供的支持不足感到有點驚訝:我們是否討論了xml AJAX處理(在IE中爲pb),xml解析,甚至是xpath選擇,它看起來像很多解決方法和瀏覽器特定的代碼仍然每次寫入...確定JSON是偉大的,但XML仍然是一段時間,是不是? – Zzirconium