Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> проблемы с редактированием xml 
:(
    Опции темы
AntiInt
Дата 13.3.2011, 18:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 145
Регистрация: 15.5.2009

Репутация: нет
Всего: нет



Добрый вечер господа программисты!
Такая проблема, есть существующий файл:
Код

<?xml version="1.0" encoding="utf-8" ?>
<DBSettings>
  <connectionString>
    <Database>Database=vasia;</Database>
    <HostName>Data Source=192.168.0.101;</HostName>
    <UserName>User Id=root;</UserName>
    <Password>Password=root</Password>
  </connectionString>
  <BaseFolder>С:\\Firma</BaseFolder>
  <OrderPath>C:\\myorder.docx</OrderPath>
</DBSettings> 

пытаюсь изменить innertext в теге OrderPath таким кодом:
Код

            XmlDocument doct = new XmlDocument();
            doct.Load(_appSet);
            XmlNode fol = doct.DocumentElement.SelectSingleNode("OrderPath");
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
                {
                
                        fol.InnerText = openFileDialog1.FileName;
                        doct.Save(_appSet);

                }
                
                
                
            

но текст внутри тега не меняется.
если провожу точно такие же манипуляции с тегом BaseFolder, то все работает...
Подскажите, плз, в чем причина.
разрабатываю под .net 2
.net 2
PM MAIL   Вверх
diadiavova
Дата 13.3.2011, 21:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 31
Всего: 142



Цитата(AntiInt @  13.3.2011,  18:24 Найти цитируемый пост)
если провожу точно такие же манипуляции с тегом BaseFolder, то все работает...

Скорей всего манипуляции не точно такие же, а чем-то да отличаются. Присмотрись внимательнее чем именно, возможно просто где-то ошибся, для этих методов без разницы как называются элементы. 


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
AntiInt
Дата 14.3.2011, 14:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 145
Регистрация: 15.5.2009

Репутация: нет
Всего: нет



Да, там действительно разный код.
Тэг BaseFolder я заполняю из диалога выбора папки.
А OrderPath пытаюсь заполнить из диалога выбора файла.
Но ведь это сути не меняет, и там и там я передаю в InnerText строку.
Колдунство блин, какое-то...
PM MAIL   Вверх
diadiavova
Дата 14.3.2011, 14:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 31
Всего: 142



Цитата(AntiInt @  14.3.2011,  14:47 Найти цитируемый пост)
Но ведь это сути не меняет

Нет.

AntiInt, а можешь выложить проект, в котором наблюдается сей феномен?


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
AntiInt
Дата 14.3.2011, 15:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 145
Регистрация: 15.5.2009

Репутация: нет
Всего: нет



Да там и проекта нет, как такогого, код, который пишет в этот файл просто по нажатию кнопки работает...

Добавлено через 1 минуту и 15 секунд
Код

XmlDocument doc = new XmlDocument();
            doc.Load(_appSet);
            XmlNode folder = doc.DocumentElement.SelectSingleNode("./BaseFolder");
            if (folderBrowserDialog1.ShowDialog() == DialogResult.OK)
            {
                folder.InnerText = folderBrowserDialog1.SelectedPath;
                doc.Save(_appSet);
                
            }

вот этот код корректно пишет, а тот нет...
PM MAIL   Вверх
diadiavova
Дата 14.3.2011, 15:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 31
Всего: 142



Цитата(AntiInt @  14.3.2011,  15:53 Найти цитируемый пост)
вот этот код корректно пишет, а тот нет... 

Тогда вопрос, почему в корректном коде XPath выражение выглядит так "./BaseFolder", а в некорректном
- так "OrderPath", вместо того, чтобы по аналогии с корректным выглядеть "./OrderPath"?


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
AntiInt
Дата 14.3.2011, 16:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 145
Регистрация: 15.5.2009

Репутация: нет
Всего: нет



это роли не играет, пробовал и так и так...
в BaseFolder пишет, а туда нет.
PM MAIL   Вверх
diadiavova
Дата 14.3.2011, 16:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 31
Всего: 142



Вот я тут состряпал консольное приложение с твоим примером. Как видишь все работает и выводит то, что введено в коде в обоих случаях. Так что, если у тебя не работает, то выкладывай неработающий проект.

Присоединённый файл ( Кол-во скачиваний: 4 )
Присоединённый файл  InnerText.rar 21,80 Kb


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
AntiInt
Дата 14.3.2011, 16:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 145
Регистрация: 15.5.2009

Репутация: нет
Всего: нет



о, спасибо огромное!
точно работает!
похоже у меня Save не делал дамп в файл.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0633 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.