使用linq进行XML解析



我有一个组合框,当用户选择它们时,xml被解析。

如果我选择item1,我需要选择这个"C:folder1"作为路径。项目2:"C:folder2"项目3:"C:folder3"

my XML file:

<?xml version="1.0"?>
<main>
    <target>C:folder1</target>
    <target>C:folder2</target>
    <target>C:folder3</target>
</main>

我使用Xdocument进行解析:

        private void pathselection()
    {
        XDocument pathdoc = XDocument.Load(@"C:GUIpath.xml");
        var abc = from target in pathdoc.Descendants("target")
                  ...
                  ...
    }

现在我被困在这里了。我应该在pathselection()中包含if语句吗?如何解析路径呢?

EDIT1:

顺便说一句,我想将这些路径存储为字符串

string selectedpath1 = "";

如果ComboBox中的可选项与XML中的项匹配,则可以通过索引获得target元素:

private void pathselection()
{
    XDocument pathdoc = XDocument.Load(@"C:GUIpath.xml");
    var abc = pathdoc.Descendants("target")
                  .Where((e, i) => i == MyComboBox.SelectedIndex)
                  .Single();        
}

你可能想处理一些事情,比如当索引不匹配时,你可能想使用SingleOrDefaultFirstOrDefault来处理。

相关内容

  • 没有找到相关文章

最新更新