2011-05-03 31 views
0

在我的項目中,服務器向客戶端發送大型(> = 50MB)xml流,客戶端通過TreeView控件顯示XML。如何在TreeView的NodeMouseClick事件上動態選擇和加載部分XML流?

XMLDocument.LoadXml()方法需要很長時間才能加載大型XML流,因此我想在單擊TreeView節點時動態加載XML內容。

例如,如果樹視圖是像以下:

- Root 
- Folder1 
    - File1 
    - File2 
+ Folder2 
+ Folder3 

當我點擊FOLDER2節點,我期望僅對應於FOLDER2 XML內容被加載並在右側面板上的ListView控件顯示。 任何想法感謝!

回答

0

您將需要使用XPathDocument(轉發只讀)來查找文件夾名稱。您可以使用xpath表達式:

var folder = doc.CreateNavigator().SelectSingleNode("/root/folder2"); 
var text = folder.ReadSubTree().ReadInnerXml();