Как сохранить и получить определенную часть дерева XML? - PullRequest
1 голос
/ 02 февраля 2012

У меня есть TreeView , который связывается с XML-документом . каждый TreeViewItem имеет CheckBox (как дерево каталогов Windows, но с флажком внутри каждого элемента).

например для этого дерева:

enter image description here

Мне нужно сохранить путь выбранного элемента от корня до листа (желтый элемент) и извлечь этот путь из исходного дерева.

Так что же является лучшим решением для store и извлечения проверенного пути этого дерева XML?

Обратите внимание, что мне нужна возможность сравнить этот путь тоже!

Ответы [ 2 ]

0 голосов
/ 02 февраля 2012

Чтобы выбрать узел с помощью XmlDocument, взгляните на SelectSingleNode

0 голосов
/ 02 февраля 2012

Если вы хотите сделать это через 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
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...