Запись в XML - C# (185286)

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

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

Здравствуйте! Данный код записывает данные в следующем формате
Листинг программы
  1. public void Export()
  2. {
  3. XmlTextWriter textWritter = new XmlTextWriter("ListCountry.xml", null);
  4. textWritter.WriteStartDocument();
  5. textWritter.WriteStartElement("ListCountry");
  6. textWritter.WriteEndElement();
  7. textWritter.Close();
  8. XmlDocument xmlDoc = new XmlDocument();
  9. xmlDoc.Load("ListCountry.xml");
  10. DataBase.SqlSelect("SELECT * FROM `country`");
  11.  
  12. if (DataBase.SqlResult.Length > 0)
  13. {
  14. for (int i = 0; i < DataBase.SqlResult.Length; i++)
  15. {
  16. XmlElement subRoot = xmlDoc.CreateElement("Name");
  17. subRoot.InnerText = DataBase.SqlResult[i].ItemArray[0] + "";
  18. xmlDoc.DocumentElement.AppendChild(subRoot);
  19. XmlElement appendedElementCount = xmlDoc.CreateElement("capital");
  20. appendedElementCount.InnerText = DataBase.SqlResult[i].ItemArray[2] + "";
  21. xmlDoc.DocumentElement.AppendChild(appendedElementCount);
  22. XmlElement mainland = xmlDoc.CreateElement("mainland");
  23. mainland.InnerText = DataBase.SqlResult[i].ItemArray[1] + "";
  24. xmlDoc.DocumentElement.AppendChild(mainland);
  25. XmlElement people = xmlDoc.CreateElement("people");
  26. people.InnerText = DataBase.SqlResult[i].ItemArray[3] + "";
  27. xmlDoc.DocumentElement.AppendChild(people);
  28. XmlElement area = xmlDoc.CreateElement("area");
  29. area.InnerText = DataBase.SqlResult[i].ItemArray[4] + "";
  30. xmlDoc.DocumentElement.AppendChild(area);
  31. }
  32. }
  33. else MessageBox.Show("БД пуста! Експорт зробити не можливо...", "Помилка", MessageBoxButtons.OK, MessageBoxIcon.Error);
  34. xmlDoc.Save("ListCountry.xml");
  35. }
Листинг программы
  1. <?xml version="1.0"?>
  2. <ListCountry>
  3. <Name>uk</Name>
  4. <capital>Київ</capital>
  5. <mainland>Європа</mainland>
  6. <people>125</people>
  7. <area>313113</area>
  8. <Name>eng</Name>
  9. <capital>
  10. </capital>
  11. <mainland>
  12. </mainland>
  13. <people>0</people>
  14. <area>0</area>
  15. </ListCountry>
как сделать чтобы каждый шаг цикла данные поля добавлял еще и в <c> тобишь типа
Листинг программы
  1. <c>
  2. <Name>eng</Name>
  3. <capital>
  4. </capital>
  5. <mainland>
  6. </mainland>
  7. <people>0</people>
  8. <area>0</area>
  9. </c>

Решение задачи: «Запись в XML»

textual
Листинг программы
  1. using System;
  2. using System.Xml;
  3.  
  4. namespace thread1737352
  5. {
  6.     class Program
  7.     {
  8.         static void Main(string[] args)
  9.         {
  10.             XmlTextWriter textWritter = new XmlTextWriter("ListCountry.xml", null);
  11.             textWritter.WriteStartDocument();
  12.             textWritter.WriteStartElement("ListCountry");
  13.             textWritter.WriteEndElement();
  14.             textWritter.Close();
  15.  
  16.             XmlDocument xmlDoc = new XmlDocument();
  17.             xmlDoc.Load("ListCountry.xml");
  18.  
  19.             string[] info = init();
  20.             foreach (string line in info)
  21.             {
  22.                 string[] split = line.Split(new char[] { ' ' });
  23.                 XmlElement cElement = xmlDoc.CreateElement("C");
  24.                 addInfoAboutnXml("Name", split[0], xmlDoc.DocumentElement, xmlDoc);
  25.                 addInfoAboutnXml("Name", split[0], cElement, xmlDoc);
  26.  
  27.                 addInfoAboutnXml("Capital", split[1], xmlDoc.DocumentElement, xmlDoc);
  28.                 addInfoAboutnXml("Capital", split[1], cElement, xmlDoc);
  29.  
  30.                 addInfoAboutnXml("Mainland", split[2], xmlDoc.DocumentElement, xmlDoc);
  31.                 addInfoAboutnXml("Mainland", split[2], cElement, xmlDoc);
  32.  
  33.                 addInfoAboutnXml("People", split[3], xmlDoc.DocumentElement, xmlDoc);
  34.                 addInfoAboutnXml("People", split[3], cElement, xmlDoc);
  35.                 xmlDoc.DocumentElement.AppendChild(cElement);
  36.             }
  37.  
  38.  
  39.             xmlDoc.Save("ListCountry.xml");
  40.         }
  41.         /// <summary>
  42.         /// Добавление дочерних элементов
  43.         /// </summary>
  44.         /// <param name="_tagName">Название тега</param>
  45.         /// <param name="_text">Текс который нужно разместить</param>
  46.         /// <param name="_rootElemetn">Корневой тег, в который нужно поместить</param>
  47.         /// <param name="_xmlDoc">Документ</param>
  48.         static void addInfoAboutnXml(string _tagName, string _text, XmlElement _rootElemetn, XmlDocument _xmlDoc)
  49.         {
  50.             XmlElement createElement = _xmlDoc.CreateElement(_tagName);
  51.             createElement.InnerText = _text;
  52.             _rootElemetn.AppendChild(createElement);
  53.         }
  54.  
  55.         static string[] init()
  56.         {
  57.             string[] ret = { "Name1 capital1 mainland1 people1 area1", "Name2 capital2 mainland2 people2 area2", "Name3 capital3 mainland3 people3 area3" };
  58.  
  59.             return ret;
  60.         }
  61.     }
  62. }

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


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

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

7   голосов , оценка 4.429 из 5

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

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

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