2013-05-12 5 views
0
<?xml version="1.0" encoding="UTF-8"?> 
<root> 
<item> 
    <question>Which country's flag is this?</question> 
    <img src="North_Korea.jpg"></img> 
    <option value="Norway"></option> 
    <option value="Philippines"></option> 
    <option value="North Korea" isRight="true"></option> 
    <option value="South Korea"></option> 
    <option value="North_Korea.jpg"></option> 
</item> 
</root> 

위의 내용은 xml 파일입니다. 모든 요소의 속성 값을 가져오고 싶습니다. 그러나 반복 될 때 요소의 속성 값을 가져올 수 없습니다. 나는 내가 optionB = 노르웨이
optionA = 노르웨이 로 출력 을 얻고있다 위의 코드를 사용하여 코드반복 된 명명 된 XML 요소의 속성 값 가져 오기

XDocument xdoc = XDocument.Load("Assets/xml_files/flags.xml");      

     foreach (var item in xdoc.Descendants("item").Elements()) 
     { 
      switch (item.Name.LocalName) 
      { 
       case "img": 
        questions.ImageName = item.Attribute("src").Value; 
        break; 
       case "option":      
        questions.OptionA = item.Attribute("value").Value; 
        questions.OptionB = item.Attribute("value").Value; 
        questions.OptionC = item.Attribute("value").Value; 
        questions.OptionD = item.Attribute("value").Value; 
        break; 
       case "desc": 
        questions.Description = item.Value; 
        break; 
      } 
     }  

아래 사용 optionC = 노르웨이 optionD = 노르웨이 가 대신 XML 파일로 다른 값이 있어야합니다. 도와주세요. 시간 내 줘서 고마워.

답변

0
이에 코드를 변경

:

var i = 0; 

var lstOptions = new List<string>(); 

XDocument xdoc = XDocument.Load("Assets/xml_files/flags.xml");      

     foreach (var item in xdoc.Descendants("item").Elements()) 
     { 
      switch (item.Name.LocalName) 
      { 
       case "img": 
        questions.ImageName = item.Attribute("src").Value; 
        break; 
       case "option":   
        lstOption.add(item.Attribute("value").Value); 
        break; 
       case "desc": 
        questions.Description = item.Value; 
        break; 
      } 
     } 

     questions.OptionA = lstOption[0]; 
     questions.OptionB = lstOption[1]; 
     questions.OptionC = lstOption[2]; 
     questions.OptionD = lstOption[3]; 
+0

고맙습니다 통해 UR 대답을 – djain

관련 문제