Добавление данных в XML - C#

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

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

Здравствуйте. Есть такой XML-документ:
Листинг программы
  1. <?xml version="1.0" encoding="utf-8" ?>
  2. - <UICustomizationSet xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  3. <DefaultIcon>AvevaSharedIcons:ID_WARNING</DefaultIcon>
  4. - <UICustomizationFiles>
  5. <CustomizationFile Name="Module" Path="design.uic" />
  6. <CustomizationFile Name="SchematicExplorerAddin" Path="CoreSchematicMenu.uic" />
  7. <CustomizationFile Name="Project" Path="$1.uic" Optional="true" />
  8. <CustomizationFile Name="SVGCompare" Path="SVGCompare.uic" />
  9. <CustomizationFile Name="Cabling" Path="AVEVA.design.cabling.uic" />
  10. <CustomizationFile Name="Hvac" Path="AVEVA.design.hvac.uic" />
  11. <CustomizationFile Name="Supports" Path="AVEVA.design.MDS.uic" />
  12. <CustomizationFile Name="Piping" Path="AVEVA.design.piping.uic" />
  13. <CustomizationFile Name="Steelwork" Path="AVEVA.design.steelwork.uic" />
  14. <CustomizationFile Name="MessageAddin" Path="MessageWindowCoreMenus.uic" />
  15. <CustomizationFile Name="Laser" Path="AVEVA.design.laser.uic" />
  16. <CustomizationFile Name="Integrator" Path="Integrator.uic" />
  17. <CustomizationFile Name="DiagramViewer" Path="DiagramViewer.uic" />
  18. <CustomizationFile Name="InstrumentationImportAddin" Path="InstrumentationImportAddin.uic" />
  19. <CustomizationFile Name="CAD Cable SYSTEM" Path="CADCableSystems.uic" />
  20. <CustomizationFile Name="CAD Piping" Path="CADPiping.uic" />
  21. </UICustomizationFiles>
  22. </UICustomizationSet>
Мне необходимо добавить
Листинг программы
  1. <CustomizationFile Name="Test Zone" Path="TestZone.uic" />
Написал следующее:
Листинг программы
  1. XmlDocument xmlDoc = new XmlDocument();
  2. xmlDoc.Load(customXMLFileName);
  3. var node = xmlDoc.DocumentElement.SelectSingleNode("/UICustomizationSet/UICustomizationFiles");
получил ноду в которой могу прочитать все значения по имени.
Листинг программы
  1. foreach (XmlNode item in node.ChildNodes)
  2. {
  3. MessageBox.Show(item.Attributes.GetNamedItem("Name").Value);
  4. }
Но как добавить ещё значение? Пробовал
Листинг программы
  1. XmlElement elem = xmlDoc.CreateNode( ( "CustomizationFile");
  2. elem.InnerText = "Name = "Test Zone" Path = "TestZone.uic"";
но это не дало необходимого результата. Прошу помощи в реализации. Заранее благодарен.
В общем покопался по ссылкам и нашёл здесь Думаю разберётесь что к чему (методы из реального кода, всё работает как надо.) Чтение:
Листинг программы
  1. public bool FindCustomizationInfo(string Name)
  2. {
  3. bool result = false;
  4. string customXMLFileName = configData.AvevaPath + configData.E3DFolder + "" + configData.DesignCustomization;
  5. XmlDocument xmlDoc = new XmlDocument();
  6. xmlDoc.Load(customXMLFileName);
  7. var node = xmlDoc.DocumentElement.SelectSingleNode("/UICustomizationSet/UICustomizationFiles");
  8. foreach (XmlNode item in node.ChildNodes)
  9. {
  10. if (Name == item.Attributes.GetNamedItem("Name").Value) { result = true; break; }
  11. }
  12. return result;
  13. }
Запись:
Листинг программы
  1. public void AddCustomizationInfo(string Name, string Path)
  2. {
  3. string customXMLFileName = configData.AvevaPath + configData.E3DFolder + "" + configData.DesignCustomization;
  4. XmlDocument xmlDoc = new XmlDocument();
  5. xmlDoc.Load(customXMLFileName);
  6. var node = xmlDoc.DocumentElement.SelectSingleNode("/UICustomizationSet/UICustomizationFiles");
  7. XmlNode elem = xmlDoc.CreateElement("CustomizationFile");
  8. XmlAttribute xmlAttrName = xmlDoc.CreateAttribute("Name");
  9. xmlAttrName.Value = Name;
  10. elem.Attributes.Append(xmlAttrName);
  11. XmlAttribute xmlAttrPath = xmlDoc.CreateAttribute("Path");
  12. xmlAttrPath.Value = Path;
  13. elem.Attributes.Append(xmlAttrName);
  14. elem.Attributes.Append(xmlAttrPath);
  15. node.AppendChild(elem);
  16. xmlDoc.Save(customXMLFileName);
  17. }

Решение задачи: «Добавление данных в XML»

textual
Листинг программы
  1. <UICustomizationSet xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  2.   <DefaultIcon>AvevaSharedIcons:ID_WARNING</DefaultIcon>
  3.   <UICustomizationFiles>
  4.     <CustomizationFile Name="Module" Path="design.uic" />
  5.     <CustomizationFile Name="SchematicExplorerAddin" Path="CoreSchematicMenu.uic" />
  6.     <CustomizationFile Name="Project" Path="$1.uic" Optional="true" />
  7.     <CustomizationFile Name="SVGCompare" Path="SVGCompare.uic" />
  8.     <CustomizationFile Name="Cabling" Path="AVEVA.design.cabling.uic" />
  9.     <CustomizationFile Name="Hvac" Path="AVEVA.design.hvac.uic" />
  10.     <CustomizationFile Name="Supports" Path="AVEVA.design.MDS.uic" />
  11.     <CustomizationFile Name="Piping" Path="AVEVA.design.piping.uic" />
  12.     <CustomizationFile Name="Steelwork" Path="AVEVA.design.steelwork.uic" />
  13.     <CustomizationFile Name="MessageAddin" Path="MessageWindowCoreMenus.uic" />
  14.     <CustomizationFile Name="Laser" Path="AVEVA.design.laser.uic" />
  15.     <CustomizationFile Name="Integrator" Path="Integrator.uic" />
  16.     <CustomizationFile Name="DiagramViewer" Path="DiagramViewer.uic" />
  17.     <CustomizationFile Name="InstrumentationImportAddin" Path="InstrumentationImportAddin.uic" />
  18.     <CustomizationFile Name="CAD Cable SYSTEM" Path="CADCableSystems.uic" />
  19.     <CustomizationFile Name="CAD Piping" Path="CADPiping.uic" />
  20.     <CustomizationFile Name="Test Zone" Path="TestZone.uic" />
  21.   </UICustomizationFiles>
  22. </UICustomizationSet>

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


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

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

14   голосов , оценка 4.143 из 5

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

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

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