将多个 xml 节点存储到列表中并在 MVC 视图中显示

Store multiple xml node into list and show in MVC view

我想将多个 xml linq 结果存储到一个列表中并在 mvc 视图中显示,但它在调试时存储空值。无论如何将它存储在列表中? 谢谢!

我的控制器:

public ActionResult SURV_Answer_Result(int Survey_ID, string Language = "ENG")
{
List<AnswerQuestionViewModel> viewmodel = new List<AnswerQuestionViewModel>();

            var query = from r in db.SURV_Question_Ext_Model
                        join s in db.SURV_Question_Model
                        on r.Qext_Question_ID equals
                        s.Question_ID
                        select new { r, s };

            var viewModel = new AnswerQuestionViewModel();
            viewModel.Survey_ID = Survey_ID;

            List<string> AnsResult = new List<string>();

            foreach (var item in query.ToList())
            {

                string str = item.s.Answer_Data;
                XElement qconfig;
                qconfig = XElement.Parse(str);

                string value = item.s.Question_Type;
                int i = 0;

                switch (value)
                {

                    case "Single_Line":
                        {

                                XElement SingleLineAns =
                                (from node in qconfig.Elements("Answer")
                                select node).SingleOrDefault();

       Unable to store=====>    viewModel.ResultAnswer = SingleLineAns.Value;       
                                AnsResult.Add(viewModel.ResultAnswer[i]);
                                i++;

                        }
                        break;

                    case "Multiple_Line":
                        {
                           // do nothing
                        }
                        break;



                viewmodel.Add(new AnswerQuestionViewModel()
                {              
                    ResultAnswer = viewModel.ResultAnswer        
                });
            }

            return View(viewmodel);
        }
}

我的回答问题模型:

public string[] ResultAnswer { get; set; }

我的看法:

@model List<SurveyTool.Models.AnswerQuestionViewModel>
    @for(int i = 0; i < Model.Count; i++)
    {
       @Html.DisplayFor(m => m[i].ResultAnswer[i])
    }

XML答案数据样本(提取后会得到'ssd'):

<!--Question Configuration--><AnswerData><Answer>ssd</Answer></AnswerData>

改变

      public string[] ResultAnswer { get; set; }

     public List<string>ResultAnswer { get; set; } 

然后是

     viewModel.ResultAnswer = SingleLineAns.Value; 

改为

     viewModel.ResultAnswer = new List<string>();
     viewModel.ResultAnswer .Add(SingleLineAns.Value);