-1

Я сохраняю вопросник, который находится в формате xml, в поле данных типа строки под названием «Вопросник». Поля базы данных - ContactID и Questionannire. Я делаю это в приложении MVC. Может кто-нибудь скажет мне, как должен выглядеть ViewModel?MVC ViewModel - необходимо определить viewmodel

XML-хотел

<xml> 
    <Question>What is your country of origin?/<Question> 
    <Answer>United Kingdom </Answer> 
    <Question>What is your place of birth?</Question> 
    <Answer>United States </Answer> 
</xml> 
+0

Модель просмотра содержит свойства, которые вы хотите отображать/редактировать в представлении, поэтому независимо от того, что вы хотите отображать/редактировать, затем создайте эти свойства. Неясно, почему у вас есть xml-файл, а не на сохранение ответов на вопросы и ответы пользователей прямо в базу данных, так что трудно дать вам ответ. –

+0

Привет, причина в том, что я сохраняю его как пример, чтобы избежать использования нескольких таблиц для хранения этой информации. Затем мне нужно было бы создать таблицу «Вопросы», «Таблица ответов», а затем таблицу «QuestionAnswer». Я просто хотел сохранить его простым, поскольку я хотел сохранить его как в одном столбце – user3751248

+0

Не могли бы вы привести пример того, как должна выглядеть моя модель представления, учитывая указанную выше структуру xml, а также таблицу базы данных – user3751248

ответ

0

Ваш ViewModel может выглядеть следующим образом:

public class VM { public IEnumerable<QA> MyQuestionsAnswers {get;set; } } 
//then you need a QA class 
public class QA{ 
    public List<string> Questions {get;set;} 
    public List<string> Answers {get;set;} 
} 

Далее вам нужно прочитать XML и поместить его в Список QA ...

XDocument document = XDocument.Load(@"XMLFile1.xml"); 

var TheQuestions = (from br in document.Descendants("Questions") 
        select br).ToList(); 
var TheAnswers = (from or in document.Descendants("Answers") 
        select or).ToList(); 
var myQA = new QA{Questions=TheQuestions, Answers=TheAnswers} 
+0

Это плохо способ хранения вопросов и ответов ... разделяя их на отдельные списки, вы теряете естественную связь объекта. Теперь вам нужно синхронизировать их. –

+0

Согласен, но мне не хотелось решать всю проблему для op. Я думаю, показывая Op, как разложить проблему, которую он может закончить. Может быть, вы можете закончить его для него? –

+0

Кроме того, корень проблемы - это макет XML. И вопрос, и ответ должны содержаться в поле ... –