2013-05-11 73 views
0

大家好我有一個XML數據作爲字符串變量。它有很多套<item>...</item>我想知道我可以如何提取<name>..</name>所有<item>集合的所有數據,並將它們輸出到使用javascript的textarea?如何在JavaScript中輸出xml字符串中的所有perticuler xml元素值?

* 注: *的getJSON抓住遠程XML,並把它作爲內容變量: XML設置例如:

<item> 
<title>rober album</title> 
<link></link> 
<description></description> 
<location></location> 
<image_url></image_url> 
<name>robert</name> 
</item> 

代碼:

<script> 
    $.getJSON('http://anyorigin.com/get?url=http://asite.com/feed/latest&callback=?', function(data){ 
    var Content = data.contents; 
//here i want to parse all name element of remote xml and put it in textarea 
    }); 
    </script> 

</head> 
<body> 
<td><textarea rows="7" cols="15" name="outputtext" style="width: 99%;"></textarea></td> 
+0

這是非常不清楚。你說你有XML數據,但在第二段代碼中有一個返回JSON數據的ajax調用。它是不相關的嗎?你的XML存儲在哪裏? – 2013-05-11 12:08:38

+0

感謝您的回覆.getjson從遠程服務器獲取xml,現在我想解析來自該遠程xml的所有名稱元素.Gjjson將整個遠程xml保存爲字符串內容。 – user1788736 2013-05-11 12:13:34

回答

1

我已經把小腳本,這幾乎可以解釋自己。它將循環處理從字符串加載的XML文檔中的所有ITEM節點(在您的情況下爲getJSON),並警告所有名稱。您應該能夠把它從這裏;)

var xmlData = "<items><item><title>rober album</title><link></link><description></description><location></location><image_url></image_url><name>robert</name></item><item><title>robert 2</title><link></link><description>/description><location></location><image_url></image_url><name>Jack</name></item></items>"; 

var parser=new DOMParser(); 
xmlDoc=parser.parseFromString(xmlData,"text/xml"); 

var items = xmlDoc.getElementsByTagName("item"); 

for(i = 0; i < items.length; i++) 
    alert(items[i].getElementsByTagName("name")[0].childNodes[0].nodeValue); 

有關詳細信息與在JavaScript中的XML工作,在w3s檢查出的文檔:http://www.w3schools.com/xml/xml_dom.asp

+0

非常感謝它的工作。所以我可以檢索循環內多個不同元素(例如image_url)? – user1788736 2013-05-11 12:55:50

+0

是的,你可以使用getElementsByTageName()函數訪問你想要的任何子節點,該函數返回一個包含所有匹配節點的數組。玩一下它 – 2013-05-11 13:33:55