2012-02-02 52 views
1

我有一個TreeView綁定到一個XML文檔。每個TreeViewItem有一個複選框(如Windows目錄樹,但與每個項目內的複選框)。如何存儲和檢索XML樹的特定部分?

例如用於此樹:

enter image description here

我需要從根保存選擇的項目的路徑的葉(黃色項),並檢索來自原始樹此路徑。

那麼什麼是的最佳解決方案檢索這個XML樹的檢查路徑?

請注意,我需要的能力比較這條道路呢!

回答

0

如果你想通過XPath來做到這一點,你可以嘗試這樣的事情,我希望這是你在說什麼..

string xpath = null; 
XmlNode configNode = configDom.DocumentElement; 
// collect selected nodes in node list 
XmlNodeList nodeList = 
configNode.SelectNodes(@"//*[@status='checked']"); 

//MessageBox.Show(Convert.ToString(nodeList.Count)); 

// loop through nodelist 
foreach(XmlNode myNode in nodeList) 
{ 
xpath = GetPathFromNode(myNode); // get node path 
xpath = xpath + "\\" + myNode.InnerText.ToString(); // complete path 
string 
} 
+0

我需要存儲和檢索selectedItem的路徑! – ARZ 2012-02-02 22:11:00

+0

當你說路徑是你的意義文件路徑...?請澄清 – MethodMan 2012-02-02 22:21:24

+0

Q已更新! – ARZ 2012-02-03 03:50:46

0

對於選擇使用XmlDocument的一個節點,看看SelectSingleNode

+0

我保存了原始XML文件並需要保存selectedItems的路徑。並從這兩個參數中重新生成盯着Xml。 – ARZ 2012-02-02 22:10:36

+0

Q已更新! – ARZ 2012-02-03 03:50:40

+0

我更新了我的答案讓我知道如果這是你正在尋找的,如果不是,我會提供更好的解決方案..謝謝 – MethodMan 2012-02-03 13:44:54