我正在尝试读取xml文件,然后将一些数据从其中保存到数组中。然后,我需要遍历数组并将元素粘贴到特定节点。例如,这是我的xml文件:

<?xml version="1.0" encoding="UTF-8" ?>
<contact>
  <name>
    <header>
      <de>Hallo</de>
      <en>Hello</en>
    </header>
  </name>
  <name>
    <header>
      <de>Welt</de>
      <en>World</en>
    </header>
  </name>
</contact>


这就是我想要得到的:

<?xml version="1.0" encoding="UTF-8" ?>
<contact>
  <name>
    <header>
      Hello
    </header>
  </name>
  <name>
    <header>
      World
    </header>
  </name>
</contact>


当我需要插入标头节点数组值时遇到问题。

$.ajax({
  type: "GET",
  url: '1.xml',
  dataType: "xml",
  success: function(xml) {
    var values = [];
    $(xml).find('header').each(function() {
      var text = $(this).find(lang).text();
      values.push(text);
    });

    $(xml).find('header').each(function() {
      $(xml).find('de').remove();
      $(xml).find('en').remove();
    });

    // this part where I have problem
    $(xml).find('header').each(function() {
      $.each(values, function(i, val) {
        $(xml).find('header').append(val);
      });
    });
  })
});

最佳答案

您可以尝试使用此方法代替最后一个循环:
(它将用(<header>)的值替换父(<en>)的内容

 $(xml).find('header en').each(function() {
    $(this).parent().html($(this).html());
 });

09-10 02:47
查看更多