2011-04-11 52 views
1

嗨,我很努力從我的XML文件作爲字符串獲取文本內容。combobox選擇一個索引,然後這個索引包含一個字符串從xml文本內容

首先,我選擇具有這些項目的組合框:

  1. 6.00
  2. 6.10
  3. 6.20

其次,例如,如果我選擇 「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解析,字符串沒有按照我的組合框

回答

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的數值轉換爲規範值(「一」,「二」,或「三」)相匹配的XML文件中的元素。如果你只有這三個值,那麼一個簡單的switch()語句就可以實現:

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

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

hi我在哪裏添加這些switch語句? – jeremychan 2011-04-11 05:54:16

+0

我會把它放在LINQ查詢之前。 – AndrewP 2011-04-11 13:08:29

+0

你成功了嗎? – AndrewP 2011-04-13 16:25:54

相關問題