Я просмотрел интернет, но я не могу найти решение для своей проблемы, хотя, я думаю, это должно быть очень просто.Добавить атрибут и строку в XML-файл в C#
У меня есть документ XML. Там два узла, которые выглядят как:
<Attachments>
</Attachments>
<Templates>
</Templates>
После добавления двух элементов к каждому узлу, они должны выглядеть так:
<Attachments>
<Attachment INDEX0="Test1" />
<Attachment INDEX1="Test2" />
</Attachments>
<Templates>
<Template INDEX0="Test1">EMPTY</Template>
<Template INDEX0="Test2">EMPTY</Template>
</Templates>
Я попытался следующий код для первого:
XmlDocument doc = new XmlDocument();
doc.Load(Path.Combine(Directory.GetCurrentDirectory(), "test.xml"));
XmlElement root = doc.DocumentElement;
XmlNode node = root.SelectSingleNode("//Attachments");
List<String> list = new List<string>() {"Test1","Test2"};
foreach(var item in list)
{
XmlElement elem = doc.CreateElement("Attachment");
root.AppendChild(elem);
XmlNode subNode = root.SelectSingleNode("Attachment");
XmlAttribute xKey = doc.CreateAttribute(string.Format("INDEX{0}", list.IndexOf(item).ToString()));
xKey.Value = item;
subNode.Attributes.Append(xKey);
}
но это абсолютно ничего не значит. Как я могу достичь этих двух случаев?
Спасибо!
Это замечательно! Большое спасибо! – Canox
Один вопрос. Как поместить в него внутренний текст. Как в узле шаблона? – Canox
@Canox Ваш лучший курс действий теперь - посмотреть на некоторые документы и руководства по LINQ to XML. Чтобы добавить текст в элемент, просто добавьте текст в параметры конструктора. Чтобы установить текст существующего элемента или атрибута, установите его свойство «Значение». –