假設我有大約1000多個bookinfo節點的XML。在JS中解析這個XML的最快方法
<results>
<books>
<bookinfo>
<name>1</dbname>
</bookinfo>
<bookinfo>
<name>2</dbname>
</bookinfo>
<bookinfo>
<name>3</dbname>
</bookinfo>
</books>
</results>
我目前使用它來獲取每本書的名字
:
var books = this.req.responseXML.getElementsByTagName("books")[0].getElementsByTagName("bookinfo")
然後用一個for循環做一些與每本書的名字:
var bookName = books[i].getElementsByTagName("name")[0].firstChild.nodeValue;
我當書籍真的很大時,我覺得這很慢。不幸的是,沒有辦法限制結果集,也不能指定不同的返回類型。
有沒有更快的方法?
您可以將'getElementsByTagName'調用存儲爲一個變量/數組,因此它只被調用一次。 – 2011-02-28 04:13:42
100個XML節點是**沒有**。一次顯示你如何爲一本以上的書做這件事。 – 2011-02-28 04:16:00
它實際上更像1000+,並且比我在示例XML輸出中呈現的數據多得多。 – doremi 2011-02-28 04:16:47