2011-04-11 3 views
1

안녕하세요. 내 xml 파일에서 텍스트 콘텐츠를 문자열로 가져 오기 위해 고심하고 있습니다. 먼저콤보 상자에서 색인을 선택하면이 색인에 xml 텍스트 콘텐츠의 문자열이 포함됩니다.

, 나는이 항목이 콤보 상자 선택 : 예를 들어 내가 "6.00"를 선택하면,

  1. 6.00
  2. 6.10
  3. 6.20

둘째를 내가 선택한다 문자열 "C : \ folder1" 6.10은 "C : \ folder2"를 선택합니다. 6.20은 "C : \ folder3"을 선택합니다.

(path.xml)

내 XML 파일은 다음과 같다 :

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

그래서 기본적으로 내가 필요한이 XML 파일을 구문 분석하고 텍스트 내용을 얻을 수있다. 이 일을 어떻게 하죠? 내가 LINQ 구문 분석을 사용할 때마다, 문자열이 LINQ 쿼리를 시도 내 콤보 상자

답변

0

의 필요에 따라 차별화되지 않는다는 것 때문에 내가 가지 여기에 붙어

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 구문 분석을 시도 :

string elementName = ... ; // see below 

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

그런 다음 당신은 그냥 정규 값으로 콤보 상자 selectedIndex의의 숫자 값을 변환해야합니다 ("하나", "둘", 또는 "세") XML 파일의 요소와 일치합니다. 위의 세 가지 값만있는 경우 간단한 switch() 문이 트릭을 수행합니다.

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

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

안녕 어디서이 스위치 문을 추가해야합니까? – jeremychan

+0

LINQ 쿼리 바로 앞에 넣을 것입니다. – AndrewP

+0

성공 했습니까? – AndrewP

관련 문제