如何在 JavaScript 中解析 XML

How to parse XML in JavaScript

本文关键字:XML JavaScript      更新时间:2023-09-26

https://jsfiddle.net/recklesswish/6yw1tdwh/5/以下链接包含 JSON,我已经将这个特定的 JSON 转换为 XML。现在的问题是我不知道如何使用 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>"

杰伦

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>')
    }
  }
});

使用网页

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

首先,让你的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

我建议您先了解基础知识,而不是尝试直接进入编码。从长远来看,清晰的基础知识将使您成为一名优秀的编码员:)

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

<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>'); 
    });
});