2016-07-07 45 views
0

返回我有一個雞尾酒配方整理列表從XML

<ingredients> 
    <ingredient> 
     <item>Vodka</item> 
     <item>lime gelatin</item> 
     <item>Sugar syrup</item> 
     <item>Lime leaves</item> 
     <item>lemon</item> 
    </ingredient> 

的XML和檢索像這樣

ingredients.push($(xml).find("ingredients").eq(i).children().text()); 

這將返回文本

0 
: 
"↵    Vodka↵    lime gelatin↵    Sugar syrup↵    Lime leaves↵    lemon↵   " 

相當難看位我可以將其轉換爲數組或可用列表嗎?在xml文件中有多個配方。

回答

1

要解決此問題,您需要修剪項目周圍的空白。要做到這一點,你可以使用map()生成消毒陣列:

var xml = '<?xml version="1.0" encoding="UTF-8"?>\n<root>\n<ingredients>\n<ingredient><item>Vodka</item>\n<item>lime gelatin</item>\n<item>Sugar syrup</item>\n<item>Lime leaves</item>\n<item>lemon</item>\n</ingredient>\n</root>'; 
 

 
var i = 0; 
 
var ingredients = $(xml).find("ingredients").eq(i).find('item').map(function() { 
 
    return $(this).text().trim(); 
 
}).get().join(', '); 
 
console.log(ingredients);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>