Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.06.2017, 10:28   #1
Zezus
Новичок
Джуниор
 
Регистрация: 22.06.2017
Сообщений: 10
Вопрос Добавление нового элемента в XmlDocument

есть клиент-серверное приложение
от клиента приходят данные логин, имя и пароль
в методе эти данные парсятся и добавляются в XmlDocument

вот код в методе
Код:
doc.Load("XMLFile1.xml");
                XmlNodeList rootnode = doc.GetElementsByTagName("Root");
                XmlNode a = rootnode.Item(0);
                XmlElement userElem = doc.CreateElement("user");
                XmlAttribute loginAttr = doc.CreateAttribute("login");
                XmlElement nameElem = doc.CreateElement("name");
                XmlElement passElem = doc.CreateElement("password");
                XmlText loginText = doc.CreateTextNode(login);
                XmlText nameText = doc.CreateTextNode(name);
                XmlText passwordText = doc.CreateTextNode(password);

                loginAttr.AppendChild(loginText);
                nameElem.AppendChild(nameText);
                passElem.AppendChild(passwordText);
                userElem.Attributes.Append(loginAttr);
                userElem.AppendChild(nameElem);
                userElem.AppendChild(passElem);

                a.AppendChild(userElem);
                doc.Save("XMLFile1.xml");
вот что появляется в документе
Код:
<user login="111111">
    <name>111111</name>
    <password>111111</password>
  </user>
и потом от клиента приходят еще данные "сообщения"
я находил нужного пользователя по логину в документе чтобы именно в него добавить новый элемент "messages" и пытался добавить новый элемент

я получал все элементы в документе определенного пользователя
Код:
doc.Load("XMLFile1.xml");

            XElement xe = XElement.Load("XMLFile1.xml");
            IEnumerable<XElement> user_main =
                    from el in xe.Elements("user")
                    where (string)el.Attribute("login") == login
                    select el;
и соответственно пытался добавить элемент "messages"

Код:
XmlElement messagesElem = doc.CreateElement("messages");
            XmlText messagesText = doc.CreateTextNode(smsLine);
            messagesElem.AppendChild(messagesText);


            user_main.ElementAt(0).Add(messagesElem);
            doc.Save("XMLFile1.xml");
        }
но он не добавляется
проходился по отладчику вроде все по плану, он получает элементы определенного пользователя затем создает новый элемент и кладет его в элементы пользователя и сохраняет документ
но когда я открываю в документ то нового элемента там нет
Zezus вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
AJAX удаление элемента и вставка нового xander61 JavaScript, Ajax 8 21.11.2014 13:36
Поиск нужного места в XML и добавление в него нового элемента / LINQ ganeevez C# (си шарп) 3 26.03.2014 15:52
Добавление нового элемента Вероника99 Помощь студентам 7 24.12.2013 17:12
функция добавление нового элемента в дерево shilovec5377 Общие вопросы C/C++ 1 07.06.2013 10:39
добавление элемента массива при подключении нового пользователя Lokos Работа с сетью в Delphi 10 01.11.2010 02:27