У меня есть XML файл, отформатированный следующим образом:
<Snippets>
<Snippet name="abc">
<SnippetCode>
testcode1
</SnippetCode>
</Snippet>
<Snippet name="xyz">
<SnippetCode>
testcode2
</SnippetCode>
</Snippet>
...
</Snippets>
Я могу успешно загрузить элементы с помощью XDocument, но у меня возникли проблемы с добавлением новых элементов (есть много функций, большинство из которых я пробовал для меня не очень хорошо). Как это будет сделано? Новый элемент будет содержать тег имени фрагмента и тег кода фрагмента. Мой предыдущий подход заключался в том, чтобы открыть файл и вручную создать элемент с помощью строки, которая, хотя работает, очень плохая идея.
Что я пробовал:
XDocument doc = XDocument.Load(spath);
XElement root = new XElement("Snippet");
root.Add(new XElement("name", "name goes here"));
root.Add(new XElement("SnippetCode", "SnippetCode"));
doc.Element("Snippets").Add(root);
doc.Save(spath);
И в результате получится следующее:
<Snippet>
<name>name goes here</name>
<SnippetCode>
code goes here
</SnippetCode>
</Snippet>
Он отлично работает, за исключением того, что тег имени генерируется неправильно. Это должно быть
<Snippet name="abc">
но я не могу сгенерировать это правильно.