2012-02-02 30 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