Добавить новый узел XML

316
09 января 2017, 19:40

Создаю XML:

XDocument doc = new XDocument( 
                new XDeclaration("1.0", "Windows-1251", ""), 
                new XElement("test", 
                        new XElement("Theme", Name), 
                        new XElement("questionNumbers", new XAttribute("numbers", TotalQuestions), 
                        new XElement("question" + TotalQuestions, new XAttribute("text", Question), new XAttribute("true", TrueAnswer), 
                            (f.comboBox1.Text == "2" ? new XElement("answer", "1|2") : (f.comboBox1.Text == "3" ? new XElement("answer", "1|2|3") : (f.comboBox1.Text == "4" ? new XElement("answer", "1|2|3|4") : null))) 
                        ) 
                    ) 
                ));

Таким образом у меня создается XML файл с таким содержимом:

Как мне программно, добавить новый questionNumbers в уже существующий XML? (пример)

Или может лучше сначала "загнать" всё в List<string> и потом уже создавать XML файл?

Подскажите, пожалуйста. (желательно с примером :))

Answer 1

Можно как угодно. Например, если вы хотите добавлять по одному, то так:

var lastQuestionNumbers = doc.Descendants("questionNumbers").Last();
lastQuestionNumbers.AddAfterSelf(
    new XElement("questionNumbers", new XAttribute("numbers", TotalQuestions),
        new XElement("question" + TotalQuestions,
                     new XAttribute("text", Question), new XAttribute("true", TrueAnswer),
            new XElement("answer", "5"))));
READ ALSO
Длинный url (get-запрос) в file_get_contents

Длинный url (get-запрос) в file_get_contents

ЗдравствуйтеРаботаю с vk API, отправляю сообщения обыкновенным методом messages

583
Call to undefined function import_request_variables()

Call to undefined function import_request_variables()

Сервер с PHP 53 перешел на PHP 5

565
Получение количества участников групп VK API

Получение количества участников групп VK API

Доброго времени суток господаНужна ваша помощь в легкой задаче, увы, для меня из за нехватки опыта это оказалось сложным

674