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