使用javascript更改xml的revsere顺序

使用javascript更改xml的revsere顺序,javascript,xml,Javascript,Xml,我想反转我的xml文档文件中列出的顺序可能是我做错了,有人能解释一下为什么我使用循环和循环中的foreach来反转顺序,但不起作用吗 <CATALOG> <CD> <TITLE>Greatest Hits</TITLE> <ARTIST>Dolly Parton</ARTIST> <COUNTRY>USA</COUNTRY> <COMPANY>RCA</COMPANY> <

我想反转我的xml文档文件中列出的顺序可能是我做错了,有人能解释一下为什么我使用循环和循环中的foreach来反转顺序,但不起作用吗

<CATALOG>
<CD>
<TITLE>Greatest Hits</TITLE>
<ARTIST>Dolly Parton</ARTIST>
<COUNTRY>USA</COUNTRY>
<COMPANY>RCA</COMPANY>
<PRICE>9.90</PRICE>
<YEAR>1982</YEAR>
</CD>
<CD>
<TITLE>Still got the blues</TITLE>
<ARTIST>Gary Moore</ARTIST>
<COUNTRY>UK</COUNTRY>
<COMPANY>Virgin records</COMPANY>
<PRICE>10.20</PRICE>
<YEAR>1990</YEAR>
</CD>
<CD>
<TITLE>Eros</TITLE>
<ARTIST>Eros Ramazzotti</ARTIST>
<COUNTRY>EU</COUNTRY>
<COMPANY>BMG</COMPANY>
<PRICE>9.90</PRICE>
<YEAR>1997</YEAR>
</CD>
</CATALOG>

最成功的
多莉·帕顿
美国
RCA
9.90
1982
还是那么忧郁吗
加里摩尔
英国
维珍唱片
10.20
1990
爱神
艾罗斯·拉玛佐第
欧盟
BMG
9.90
1997
我的javascript

function myFunction(xml) {
  var i;
  var xmlDoc = xml.responseXML;
  var table="";
  var x = xmlDoc.getElementsByTagName("CD");
  for (i = 0; i < x.length; i++) { 
    var show = 
    x[i].getElementsByTagName("ARTIST")[0].childNodes[0].nodeValue;
    show.reverse();
    show.forEach(myfun);
    function myFun(xt){
    table = table + xt ;
    }
  }
  document.getElementById("demo").innerHTML = table;
}
函数myFunction(xml){
var i;
var xmlDoc=xml.responseXML;
var表=”;
var x=xmlDoc.getElementsByTagName(“CD”);
对于(i=0;i

这应该显示了厄洛斯·拉马佐蒂、加里·摩尔、多莉·帕顿的第一个倒序,谢谢。

你想倒序CD节点吗。如果是,你可以这样做

var nodes = xmlDoc.getElementsByTagName("CD");
var newDoc = parser.parseFromString("<CATALOG></CATALOG>","text/xml");
var catalog = newDoc.childNodes[0];
for (var i = nodes.length - 1; i >= 0; --i) {
  catalog.appendChild(nodes[i]);
}
console.log(newDoc);
var nodes=xmlDoc.getElementsByTagName(“CD”);
var newDoc=parser.parseFromString(“,“text/xml”);
var catalog=newDoc.childNodes[0];
对于(var i=nodes.length-1;i>=0;--i){
catalog.appendChild(节点[i]);
}
console.log(newDoc);

我不知道show.reverse()
etc做什么,但我会首先将for循环更改为
for(I=x.length;I>0;I--)
。它以相反的顺序在CD上迭代。是的,我试过这个区域,但不起作用。内部循环用于什么?你是不是想把CD换成别的?