如何在JavaScript中解析XML

时间:2016-04-21 09:13:33

标签: javascript jquery json xml

https://jsfiddle.net/recklesswish/6yw1tdwh/5/以下链接包含JSON,我已经在XML中转换了这个特定的JSON。现在问题是我没有得到如何使用javascript解析它。 这是xml,JSON resp的代码。 XML

var carsData = "<cars>
  "<Honda>"
    "<model>Figo</model>"
  "</Honda>"
  "<Honda>"
    "<model>City</model>"
  "</Honda>"
  "<Audi>"
    "<model>A6</model>"
  "</Audi>"
  "<Audi>"
    "<model>A8</model>"
  "</Audi>"
"</cars>"

JSON

var carsData = '{"cars":{"Honda":[{"model":"Figo"},{"model":"City"}],"Audi":[{"model":"A6"},{"model":"A8"}]}}';

$('#newCollection').on('click', function() {
  $(this).empty(); 
  var data = JSON.parse(carsData);
  $(this).append('New Collection<ul></ul>');

  for (var make in data.cars) {
    for (var i = 0; i < data.cars[make].length; i++) {
      var model = data.cars[make][i].model;
      $(this).find('ul').append('<li>' + make + ' - ' + model + '</li>')
    }
  }
});

使用HTML

<ul>
  <li id="newCollection">New Collection</li>
</ul>

2 个答案:

答案 0 :(得分:1)

首先让你的xml在javascript中看起来像这样 -

var carsData = "<cars><Honda><model>Figo</model></Honda><Honda><model>City</model> </Honda><Audi><model>A6</model></Audi><Audi><model>A8</model></Audi></cars>"

你的JS代码看起来像这样 -

$('#newCollection').on('click', function() {
                        $(carsData).find("Honda").each(function() {
                            var model = $(this).find("model").text();
                            console.log("model: " + model );
                        });
                    });

newCollection是按钮的ID。这将打印模型如下 -

model: Figo
model: City

我建议你先完成基础知识,而不是直接尝试编码。从长远来看,明确的基础将使您成为一名优秀的编码人员:)

答案 1 :(得分:0)

我明白了。使用下面的代码来实现你想要的 -

<body> <h1>Hello</h1> <button type="button" id="newCollection">Click Me!</button> <ul id="myul"></ul> </body>

你的JS代码应该是 -

$('#newCollection').on('click', function() {

    var data = $($.parseXML(carsData));                         
    data.find('cars').children().each(function() { 
    var make = $(this).find("model").text();
    $('#myul').append('<li>'+make+'</li>'); 
    });
});