【问题标题】:Tidying up list returned from xml整理从 xml 返回的列表
【发布时间】:2016-11-09 14:35:01
【问题描述】:

我有一份鸡尾酒配方的 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 文件中有多个配方。

【问题讨论】:

    标签: jquery arrays list xml-parsing


    【解决方案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);
    &lt;script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"&gt;&lt;/script&gt;

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多