combobox选择一个索引,然后该索引包含来自xml文本内容的字符串

时间:2011-04-11 01:57:57

标签: c# xml

嗨,我正在努力将文本内容从我的xml文件中删除为字符串。

首先,我选择一个包含以下项目的组合框:

  1. 6.00
  2. 6.10
  3. 6.20
  4. 其次,如果我选择“6.00”,我将选择字符串“C:\ folder1” 6.10选择“C:\ folder2” 6.20选择“C:\ folder3”

    我的XML文件(path.xml)如下:

    <main>
    <one>C:\folder1</one>
    <two>C:\folder2</two>
    <three>C:\folder3></three>
    </main>
    

    基本上我需要的是解析这个xml文件并获取文本内容。我该怎么做呢?我试过linq解析:

        var prods = from s in
                        (from c in XElement.Load(@"C:\GUI\path.xml").Descendants("main")
                         where c.Value.Equals("?????")
                         select c).Descendants()
                    select new main()
                    {
                        path = s.Value,
                    };
    

    我有点被困在这里因为看起来每当我使用linq解析时,根据我的组合框的需要不区分字符串

1 个答案:

答案 0 :(得分:0)

试试这个linq查询:

string elementName = ... ;  // see below

var prods = from c in XElement.Load("XMLFile1.xml").Descendants()
            where c.Name.LocalName.Equals(elementName)
            select c.Value;

然后,您只需要将ComboBox SelectedIndex的数值转换为规范值(“one”,“two”或“three”)以匹配XML文件中的元素。如果你只有这三个值,那么一个简单的switch()语句可以解决这个问题:

string elementName = "one";
switch (comboBox.SelectedIndex)
{
  case 2:
    elementName = "two";
    break;

  case 3:
    elementName = "three";
    break;
}