我想分析一個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