C#xml和循环

C#xml和循环,c#,xml,for-loop,C#,Xml,For Loop,我试图理解如何用C从动态框中编写xml# 我创建了一个考试,让同学通过考试 我创建了一个动态表单 我可以添加任何计数选项卡 我需要得到这个结果: - <test> <head>NAME OF THE TEST 2017</head> <description>Тест по Математики за 2016 год</description> - <qw&g

我试图理解如何用C从动态框中编写xml# 我创建了一个考试,让同学通过考试

我创建了一个动态表单 我可以添加任何计数选项卡 我需要得到这个结果:

     - <test>
          <head>NAME OF THE TEST 2017</head> 
          <description>Тест по Математики за 2016 год</description> 
        - <qw>
        - <q text="how match 2+2" src="">
          <a right="no">1</a> 
          <a right="no">1,5</a> 
          <a right="no">45</a> 
          <a right="yes">4</a> 
          </q>
        - <q text="Наше главное преимущество в том, что каждое тестирование уникально....х." src="">
          <a right="no">Вика</a> 
          <a right="no">Настя</a> 
          <a right="yes">Катя</a> 
          </q>
.....
.... any question....
.....
          </qw>
        - <levels>
          <level score="1" text="Тест пройден" /> 
          </levels>
          </test>
-
2017年考试名称
Тест по Математики за 2016 год 
- 
- 
1.
1,5 
45
4.
- 
Вика 
Настя 
Катя 
.....
.... 有问题吗。。。。
.....
- 
我使用循环“for”来收集数据 但是我犯了个错误,我不明白发生了什么

XDocument xdoc = new XDocument();
                XElement testXML = new XElement("test");//заголовок
                XElement headXML = new XElement("head","заголовок XML");//заголовок
                XElement discriptionXML = new XElement("Discriptions","ОПИСАНИЕ ТЕСТА");//описание теста
                XElement qwXML = new XElement("qw");//начала вопросов
                XElement questionXMLX = new XElement("q");// начало вопроса
                XElement questionXMLAY = new XElement("a");// ответ
                XElement questionXMLAN = new XElement("a");// ответ

                XAttribute DiscriptionAttr = new XAttribute("text", "ПУСТО");//собираем текст
                XAttribute questionXAttr = new XAttribute("text", "ПУСТО");//собираем текст
                XAttribute questionSRCXAttr = new XAttribute("src", "ПУСТО");//собираем картинку
                XAttribute questionAAttrN = new XAttribute("right", "no");//собираем текст
                XAttribute questionAAttrY = new XAttribute("right", "yes");//собираем текст


                // TextBoxQuest.Tag = "TxBOXquery"; //Поле вопроса
                //RadioButton[i].Tag = "rbAnswer"; //Радиобуттон правильного ответа
                //TextBoxAns[i].Tag = "TxBOXAnswer";//Варианты ответа
                questionXMLAY.Add(questionAAttrY);
                questionXMLAN.Add(questionAAttrN);
                string ctrl ="";//собираем текст из полей
                string tagz = ""; //смотрим что это за поле
                int qcount = tabControl1.TabCount * (CountAnswerInTest*2);

                for (int itab = 0; itab < tabControl1.TabCount; itab++)//перебираем табы
                {


                    for (int i = 0; i <= CountAnswerInTest*2; i++)//перебираем внутренние ответы
                    {
                         ctrl = tabControl1.Controls[itab].Controls[i].Text;//собираем текст из полей
                         tagz = tabControl1.Controls[itab].Controls[i].Tag.ToString(); //смотрим что это за поле
                        Console.WriteLine(tagz);//debug
                        if (tagz == "TxBOXquery") //если равно TxBOXquery то это поле с вопросом
                        {
                            Console.WriteLine(ctrl);//debug
                            Console.WriteLine(questionXMLX);//debug 
                            questionXMLX.Add(ctrl);//Добавляем его 
                            Console.WriteLine(questionXMLX);//debug

                        }//пишем вопрос

                        if (tagz == "rbAnswer")//если равно rbAnswer то это поле с ответом
                            if (ctrl == "")//если текста нет, то скорее всего это радиобуттон\
                            {
                                Control ctrlb = tabControl1.Controls[itab].Controls[i]; //присваем чекбокс
                                if (Convert.ToString(ctrlb) == "System.Windows.Forms.RadioButton, Checked: False") //смотрим нажат или нет
                                {
                                    Console.WriteLine("False");//debug
                                                               // questionXMLA.Add(questionAAttrN);
                                    int ix = ++i;//убираем непонятные пустые поля
                                    string ctrlX = tabControl1.Controls[itab].Controls[ix].Text;//собираем текст из полей

                                    questionXMLX.Add(questionXMLAN, ctrl, ctrlX); //добавляем в xml

                                }
                                else //если чекбокс не нажат то пишем NO
                                {
                                    int ix = ++i;//убираем непонятные пустые поля
                                    string ctrlX = tabControl1.Controls[itab].Controls[ix].Text;//собираем текст из полей
                                    Console.WriteLine("True");//debug
                                    questionXMLX.Add(questionXMLAN, ctrl, ctrlX);/ добавляем в xml
                                    // questionXMLA.Add(questionAAttrY);

                                }
                            }

                    }

                    qwXML.Add(questionXMLX);// добавляем всё в блок <qw>

                }//закончили перебирать табы
                testXML.Add(headXML);
                testXML.Add(discriptionXML);
                testXML.Add(qwXML);

                xdoc.Add(testXML);
                xdoc.Save("myXML2.xml");
XDocument xdoc=new XDocument();
XElement testXML=新XElement(“测试”)//заголовок
XElement-headXML=新的XElement(“head”、“зааааааааааа107//заголовок
XElement描述XML=新的XElement(“描述”,“СПППСАПССССССА”)//описание теста
XElement qwXML=新XElement(“qw”)//начала вопросов
XElement questionXMLX=新XElement(“q”);//начало вопроса
XElement QuestionXlay=新XElement(“a”);//ответ
XElement QuestionXlan=新XElement(“a”);//ответ
XAttribute descriptionAttr=新的XAttribute(“文本”,“ПУСП”)//собираем текст
XAttribute questionXAttr=新的XAttribute(“文本”,“ПУСП”)//собираем текст
XAttribute questionSRCXAttr=新的XAttribute(“src”,“ППУСП”)//собираем картинку
XAttribute questionAAttrN=新的XAttribute(“正确”、“否”)//собираем текст
XAttribute questionAAttrY=新的XAttribute(“正确”、“是”)//собираем текст
//TextBoxQuest.Tag=“TxBOXquery”//Поле вопроса
//RadioButton[i].Tag=“rbAnswer”//Радиобуттон правильного ответа
//TextBoxAns[i].Tag=“TxBOXAnswer”//Варианты ответа
问题xmlay.Add(问题注释);
问题xmlan.Add(问题attrn);
字符串ctrl=“”//собираем текст из полей
字符串tagz=“”//смотрим что это за поле
int qcount=tabControl1.TabCount*(CountAnswerInTest*2);
对于(int-itab=0;itab对于(int i=0;i Stack Overflowаааааааааааааааа?
 <?xml version="1.0" encoding="utf-8"?>
    <test>
      <head>заголовок XML</head>
      <Discriptions>ОПИСАНИЕ ТЕСТА</Discriptions>
      <qw>
        <q>Пишем вопрос тут 11
    <a right="no" />Ответ 10
    <a right="no" />Ответ 11
    <a right="no" />Ответ 12Пишем вопрос тут 22
    <a right="no" />Ответ 20
    <a right="no" />Ответ 21
    <a right="no" />Ответ 22Пишем вопрос тут 33
    <a right="no" />Ответ 30
    <a right="no" />Ответ 31
    <a right="no" />Ответ 32</q>
        <q>Пишем вопрос тут 11
    <a right="no" />Ответ 10
    <a right="no" />Ответ 11
    <a right="no" />Ответ 12Пишем вопрос тут 22
    <a right="no" />Ответ 20
    <a right="no" />Ответ 21
    <a right="no" />Ответ 22</q>
        <q>Пишем вопрос тут 11
    <a right="no" />Ответ 10
    <a right="no" />Ответ 11
    <a right="no" />Ответ 12Пишем вопрос тут 22
    <a right="no" />Ответ 20
    <a right="no" />Ответ 21
    <a right="no" />Ответ 22Пишем вопрос тут 33
    <a right="no" />Ответ 30
    <a right="no" />Ответ 31
    <a right="no" />Ответ 32</q>
     </qw>
    </test>
<a right="no" />Ответ 12Пишем вопрос тут 22
<a right="no" />Ответ 12</q>
<q>Пишем вопрос тут 22