Программное создание XML-файла - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте! Необходимо программно создать файл следующего вида: Как программно правильно его создать? Я делал так:
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using System.Windows.Forms;
  10. using System.Xml;
  11. namespace писалка_XML
  12. {
  13. public partial class Form1 : Form
  14. {
  15. static string pathToXml = @"C:\Users\1\Desktop\1.xml";
  16. XmlTextWriter textWritter = new XmlTextWriter(pathToXml, Encoding.UTF8);
  17. public Form1()
  18. {
  19. InitializeComponent();
  20. }
  21. private void button1_Click(object sender, EventArgs e)
  22. {
  23. textWritter.WriteStartDocument();
  24. textWritter.WriteStartElement("test");
  25. textWritter.WriteEndElement();
  26. textWritter.Close();
  27. XmlDocument document = new XmlDocument();
  28. document.Load(pathToXml);
  29. XmlNode elementen = document.CreateElement("Theme");
  30. document.DocumentElement.AppendChild(elementen); // указываем родителя
  31. elementen.InnerText = "Dear";
  32.  
  33. XmlNode element = document.CreateElement("Question");
  34. document.DocumentElement.AppendChild(element); // указываем родителя
  35. XmlAttribute attribute = document.CreateAttribute("number"); // создаём атрибут
  36. attribute.Value = "1"; // устанавливаем значение атрибута
  37. element.Attributes.Append(attribute); // добавляем атрибут
  38. XmlNode subelement = document.CreateElement("question1");
  39. document.DocumentElement.AppendChild(element); // указываем родителя
  40. XmlAttribute attributen = document.CreateAttribute("text"); // создаём атрибут
  41. attributen.Value = "Вопрос1"; // устанавливаем значение атрибута
  42. subelement.Attributes.Append(attributen); // добавляем атрибут
  43. XmlAttribute attributen2 = document.CreateAttribute("true"); // создаём атрибут
  44. attributen2.Value = "question"; // устанавливаем значение атрибута
  45. subelement.Attributes.Append(attributen2); // добавляем атрибут
  46. XmlNode subElement22 = document.CreateElement("Answer");
  47. document.DocumentElement.AppendChild(subelement); // указываем родителя
  48. subElement22.InnerText = "33";
  49. element.AppendChild(subelement);
  50. XmlNode subElement2 = document.CreateElement("question2");
  51. subElement2.InnerText = "1111";
  52. element.AppendChild(subElement2);
  53. XmlNode subElement3 = document.CreateElement("question3");
  54. subElement3.InnerText = "3333";
  55. element.AppendChild(subElement3);
  56.  
  57. document.Save(pathToXml);
  58. }
  59. }
  60. }
в итоге получил: С XML работаю первый раз. Хотелось бы разобраться. Заранее благодарен!

Решение задачи: «Программное создание XML-файла»

textual
Листинг программы
  1.             XDocument xdoc = new XDocument(
  2.                 new XDeclaration("1.0", "Windows-1251", ""),
  3.                 new XElement("test",
  4.                         new XElement("Theme", "Тема"),
  5.                         new XElement("questionNumbers", new XAttribute("numbers", 3),
  6.                         new XElement("question1", new XAttribute("text", "Вопрос1"), new XAttribute("true", "ответ3"),
  7.                             new XElement("answers", "ответ1|ответ2|ответ3|ответ4")),
  8.                         new XElement("question2", new XAttribute("text", "2+2:"), new XAttribute("true", "ответ3"),
  9.                             new XElement("answers", "ответ1|ответ2|ответ3|ответ4")),
  10.                         new XElement("question3", new XAttribute("text", "Вопрос2"), new XAttribute("true", "ответ3"),
  11.                             new XElement("answers", "ответ1|ответ2|ответ3|ответ4"))
  12.                         )
  13.                     )
  14.                 );
  15.  
  16.             xdoc.Save("test.xml");

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4.167 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут