我有xml鸡尾酒配方
<ingredients>
<ingredient>
<item>Vodka</item>
<item>lime gelatin</item>
<item>Sugar syrup</item>
<item>Lime leaves</item>
<item>lemon</item>
</ingredient>
并像这样检索它
ingredients.push($(xml).find("ingredients").eq(i).children().text());
这会返回一个非常丑陋的文本
0
:
"↵ Vodka↵ lime gelatin↵ Sugar syrup↵ Lime leaves↵ lemon↵ "
我可以将其转换为数组或可用列表吗? xml文件中有多个配方。
答案 0 :(得分: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>