通过JQuery加载XML-操作多个结果

时间:2019-02-18 10:41:37

标签: jquery ajax xml

我正在使用AJAX将XML文件加载到HTML div中。我的XML看起来像这样:

<Incidents>
  <Incident id="123">
    <ModTime>2016-01-23T08:00:00Z</ModTime>
    <comments>comments here</comments>
    <currentUpdate>update</currentUpdate>
    <status>Active</status>
  </incident>
  <Incidents>
    <Incident id="456">
      <ModTime>2016-01-23T08:00:00Z</ModTime>
      <comments>comments here</comments>
      <currentUpdate>update</currentUpdate>
      <status>Active</status>
    </incident>
//<![CDATA[
$.ajax({
  type: "GET",
  url: "feed.xml",
  dataType: "xml",
  success: function(xml) {
    $('#table').append('<h2>XML</h2>'); 
    $('#table').append('<table id="show_table" border="1" >'); 
    $(xml).find('Incident').each(function() {
      var $feed = $(this);
      var id = $feed.attr("id");
      var mod = $feed.find('ModTime').text();
      var comments = $feed.find('comments').text();
      var update = $feed.find('currentUpdate').text();
      var status = $feed.find('status').text();
      var html = ' <tr><td >' + id + '</td><td >' + mod + '<br>' + comments     + '</td><td>' + update + '</td><td>'  + status +'</td><td > </tr>';
      $('#show_table').append(html);
    });
  }  
});

大多数情况下都能正常工作,但是有时XML中的事件会有两个注释部分。

<Incidents>
  <Incident id="123">
    <ModTime>2016-01-23T08:00:00Z</ModTime>
    <comments>comments here</comments>
    <currentUpdate>update</currentUpdate>
    <status>Active</status>
  </incident>
  <Incidents>
    <Incident id="456">
      <ModTime>2016-01-23T08:00:00Z</ModTime>
      <comments>comments here</comments>
      <comments>comments another comment</comments>
      <currentUpdate>update</currentUpdate>
      <status>Active</status>
    </incident>

发生这种情况时,我想将它们分开,但我不知道如何解决?

我首先尝试在表中添加换行符,但意识到这太晚了,因为我已经有了数据。

然后我在找到评论时尝试添加中断,但这也没有用-它只是在

的末尾添加了中断
var comments = $feed.find('comments').text() + '<br>';

0 个答案:

没有答案