powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Linq to SQL. Не меняется документ !
7 сообщений из 7, страница 1 из 1
Linq to SQL. Не меняется документ !
    #38499838
Pruvetik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет.

Очень странно. Мне нужно в дерево XML добавить один элемент.

Делаю так

Код: c#
1.
2.
3.
4.
5.
6.
7.
XElement root =  xDoc.Element(rootNameSpace + "root");

XElement newElem = new...

root.add (newElem);

xDoc.Save();




И в файл сохраняется не измененный XML !

При этом, в отладчике вот такая картина:
root - показывает, что он действительно изменился, видно новый элемент.

xDoc - не показывает, что он изменился ! Ну и сохраняется не измененным.

Почему, когда я меняю элемент root, он получается вообще никак не связанным с xDoc ? Ведь метод Element возвращает ссылку на элемент в дереве (а не новый элемент, дублированный от искомого).

Что за напасть такая ?

PS.
Смешно, но так работает

Код: c#
1.
2.
3.
4.
...
root.add (newElem);
XDocument newXDoc = new XDocument(root);
newXDoc.Save ();



Т.е. как будто root сам по себе, а не является элементом оригинального xDoc

Почему так ?
...
Рейтинг: 0 / 0
Linq to SQL. Не меняется документ !
    #38499911
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не знаю, вроде работает:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
            XNamespace ns = "http://www.adventure-works.com";
            XDocument doc = XDocument.Parse(Resource1.xml);

            XElement rootElement = doc.Element(ns + "Root");

            rootElement.Add(new XElement(ns + "PathTest", "TestTestTest"));

            doc.Save(@"c:\1\1.xml");
...
Рейтинг: 0 / 0
Linq to SQL. Не меняется документ !
    #38499915
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, и причем здесь Linq-To-Sql?
...
Рейтинг: 0 / 0
Linq to SQL. Не меняется документ !
    #38499929
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arm79
Код: c#
1.
XElement rootElement = doc.Element(ns + "Root");



Да, совсем забыл. doc.Root разве не проще?
...
Рейтинг: 0 / 0
Linq to SQL. Не меняется документ !
    #38499990
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я тоже что-то не понял про L2S...
...
Рейтинг: 0 / 0
Linq to SQL. Не меняется документ !
    #38500011
Pruvetik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за ответы.

Сейчас попытаюсь воспроизвести эффект. И показать.
Просто я в проге пока оставил вариант, с через создание нового документа.


PS. Сорри. Тему надо было назвать Linq To XML... Но почему то написал SQL :)
...
Рейтинг: 0 / 0
Linq to SQL. Не меняется документ !
    #38500318
Pruvetik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Очень странно.
Не смог воспроизвести проблему.

Действительно, документ меняется.

Не знаю как вчера получилось у меня это.

Наверное я что-то перемудрил - т.к. парсю сложный XML с использованием временных переменных, да и за неймспейсами приходится внимательно следить.

Думаю, что дело было во временной переменной. Ее наверное правил, и не понимал, почему не отражается в дереве.

Сорри.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Linq to SQL. Не меняется документ !
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]