XmlNodeList,我現在才有點明白

2022-02-03 15:22:04 字數 1183 閱讀 3387

隨手寫了乙個小程式,發現webclient返回資料特別慢,不知道是**的原因還是本身的原因。正好同事也在使用,就手工造了近8w多條資料儲存到資料庫中,然後用aspx頁面讀出,webclient(winform)返回後用xmldocument讀取後顯示在視窗中的datagrid中。測試過程中發現,20多分鐘還沒有顯示出介面。本以為是資料量太大造成資料庫讀取資料和用webclient返回有問題,但跟蹤一下,返回資料不過十秒,而系統停在了xmldocument中的節點形成datatable的地方。

由於 程式是測試用,所以就隨手寫了以下**

for( int i = 0; i < root.childnodes.count; i ++ )

}發現竟然這個迴圈就20多分鐘還沒有完,10秒鐘也就迴圈500多次

引用有問題?修改

int count = root.childnodes[0].childnodes.count ;//數量肯定是一致的

for( int i = 0; i < root.childnodes.count; i ++ )

node1

= node1

.nextsibling

; i

--; }

}return

null;

}果然啊,xmlchildnodes應該是用鍊錶實現的吧?每次根據索引查詢乙個節點都要從頭遍歷一次。好弱。

但是當我們用selectnodes返回的xmlnodelist的型別卻是xpathnodelist,內部資料儲存是乙個arraylist,這樣看起來索引就要快些了。它的索引返回實現如下

public

override

xmlnode

item(int

index)

if ((index

< this.list

.count

) && (index

>= 0))

return

null;

}private arraylist list;

說不上是它弱還是我弱,反正歪打正著,要不和真不知道效率是差在這個地方。平時用selectnodes比較多,也從來沒有做過這麼大乙個xmldocument。

技術還是要靠鑽啊。

現在才明白

很多時候人們都覺得他們的工作是那麼的微不足道,現在才明白 原來簡單的勞動背後卻影藏著如此 無言 的愛,我對環衛工人的敬佩之情也油然而生。環衛工人的愛是默默無聞的,他們朝起而作,日落而棲,沒有人知道他們的名字,但是他們卻以簡單而辛苦的勞動付出著對社會的愛 環衛工人的愛是無私的,他們捨棄了小我,為大我 ...

相比現在,未來才更重要

雖然只是一天簡單的 看上去更像是遊戲的拓展訓練。但是僅僅是兩個畫面。讓我們知道了 相比眼前,未來一定更值得期待。在拓展訓練的前一天,被阿諾叫去談話。談話的話題分散且凌亂。但是我又怎會沒領悟談話的幾個重點呢?當被批評或者當眼前切身的利益有可能受到損害的時候,每個人都會不爽,其實我也一樣。而且這種不爽持...

現在買房子,傻瓜才掏錢

樓市只漲不跌的秘密 現在買房子,傻瓜才掏錢!昨晚,和乙個開典當行的同學喝酒。我問同學,你買了多少套房子,多少間鋪面?房子22套,鋪面12間。同學炫耀似的答道。那你花了多少錢呢?同學雖然是千萬級的富翁,但他也不至於能把千萬多的錢壓在固定資產上吧!我心中默算了一下,非常懷疑!現在買房子,傻瓜才掏錢!虧你...