我想分析一个xml文件,并以不同于它们出现在xml中的顺序列出这些元素。每个子元素都有一个名称和一个数字值,我想列出名称,但按照数字值的顺序排列。 xml文件类似于这样:使用getElementsByTagName排序
<stories>
<story>
<name>fast</name>
<number>1000</number>
</story>
<story>
<name>bomb</name>
<number>2</number>
</story>
<story>
<name>descend</name>
<number>500</number>
</story>
<story>
<name>A</name>
<number>1</number>
</story>
<story>
<name>can</name>
<number>40</number>
</story>
<story>
<name>extremely</name>
<number>10000</number>
</story>
</stories>
更新: 和我的脚本看起来像这样ATM:
<script type="text/javascript">
var xmlhttp = new XMLHttpRequest(); // code for IE7+, Firefox, Chrome, Opera, Safari
testOpen = xmlhttp;
testOpen.open("GET", "test.xml", false);
xmlhttp.send();
testDoc = testOpen.responseXML;
stories = testDoc.getElementsByTagName("story");
function display(){
var arrayStory = Array.prototype.slice.call(stories, 0);
arrayStory.sort(function(a, b){
return a.getElementsByTagName("number")[0].firstChild.nodeValue - b.getElementsByTagName("number")[0].firstChild.nodeValue;
});
document.getElementById("show").innerHTML = arrayStory.map(function(story){
return story.getElementsByTagName("name")[0].firstChild.nodeValue;
}).join("<br>");
};
</script>
我有我的工作listorder这种方式。我的问题是,如何列出名称旁边的数字(或任何其他nodevalue)(不使用表格),以及如何在列表中创建条件/创建子列表(如果我不能,请帮助我创建一个列表,我可以),我会感谢您的帮助!提前致谢!
@ArunPJohny假的,它是同步 – epascarello
因此,将元素读入数组并对该数组执行排序。 – epascarello
你是要求我们为你实现一个排序功能吗? – abhinav