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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> запись в .xml с помощью XmlDocument, не получается записать .xml документ 
V
    Опции темы
Сарт
Дата 27.2.2007, 23:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Есть такой код
Код

XmlDocument document = new XmlDocument();
                    
                    document.AppendChild(document.CreateXmlDeclaration("1.0",null, null));
                    XmlNode rootNode = document.AppendChild(document.CreateElement("base"));
                    XmlNode zapisNode = rootNode.AppendChild(document.CreateElement("start"));

Он, как я понимаю, создает .xml в память...
Внимание, вопрос- как создать в нужном мне месте xml файл и записать все это туда??
пробовал вот так
Код

XmlWriter xmlwriter = XmlWriter.Create("Phonebase.xml");
 xmlwriter.Flush();
                    xmlwriter.Close();
 
Создает, но при просмотре - "Нельзя отобразить xml документ":(
Need help! smile  smile 
--------------------
[color=purple][/color]Died.Of course, System.StackOverflow 
PM MAIL   Вверх
Idsa
Дата 28.2.2007, 00:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2086
Регистрация: 5.12.2006
Где: Томск

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



Для записи можно воспользоваться методом XmlDocument.WriteTo(XmlWriter wr). В твоем случае:
Код

document.WriteTo(xmlwriter);

Также можешь попробовать метод XmlDocument.WriteContentTo(XmlWriter wr).


--------------------
Мой блог: alexidsa.blogspot.com
PM MAIL ICQ   Вверх
Сарт
Дата 28.2.2007, 01:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



К сожалению, но фигня осталась...
Цитирую :
Не удается отобразить страницу XML 
Не удается просмотреть ввод XML с использованием списка стилей . Исправьте ошибку и затем нажмите кнопку "Обновить"или повторите попытку позднее. 


--------------------------------------------------------------------------------

Для документа XML должен существовать документ более высокого уровня. Ошибка при обработке ресурса ''file:///D:/PhoneBook/P...

Добавлено @ 02:01 
И в первом и во втором случае=(
второй случай правда , проавильнее наверное
document.WriteContentTo(xmlwriter).=) 

--------------------
[color=purple][/color]Died.Of course, System.StackOverflow 
PM MAIL   Вверх
HellMasterHaiL
Дата 28.2.2007, 18:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 181
Регистрация: 9.8.2006
Где: Россия, МО, г. Юб илейный

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



лично я xml файлы формировал из датасета, так проще и надежнее (может и ошибаюсь).
тип XMLDocument можно связать(синхронизировать) с датасетом, также можно впиндюрить инфу из XMLDocument в дата сет, а из датасета выгрузить XML файл (DataSet.WriteXML(filepath), где filepath - путь к файлу, в который хочешь писать!)

PM MAIL ICQ   Вверх
Сарт
Дата 28.2.2007, 19:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



ЭЭээ...убил мозх=)
А можно примерчик?=)
П.С. с датасетом на нуле=-)
--------------------
[color=purple][/color]Died.Of course, System.StackOverflow 
PM MAIL   Вверх
Idsa
Дата 28.2.2007, 22:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2086
Регистрация: 5.12.2006
Где: Томск

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



Цитата(Сарт @  28.2.2007,  19:54 Найти цитируемый пост)
П.С. с датасетом на нуле=-)

Не стоит так извращаться. Использовать DataSet только ради WriteXML не стоит. Если уж на то пошло, то в таком случае лучше использовать DataTable: и жрет меньше, а функциональность в плане XML - та же. Но это все равно не выход!

По сабжу: Нашел я интересный метод у XmlDocument - Save():
Цитата

XmlDocument.Save (Stream)  Saves the XML document to the specified stream. 
Supported by the .NET Compact Framework. 
 
XmlDocument.Save (String)  Saves the XML document to the specified file. 
Supported by the .NET Compact Framework. 
 
XmlDocument.Save (TextWriter)  Saves the XML document to the specified TextWriter. 
Supported by the .NET Compact Framework. 
 
XmlDocument.Save (XmlWriter)  Saves the XML document to the specified XmlWriter. 
Supported by the .NET Compact Framework. 
 

Думаю, тебе подойдет метод XmlDocument.Save (String).


--------------------
Мой блог: alexidsa.blogspot.com
PM MAIL ICQ   Вверх
Сарт
Дата 1.3.2007, 00:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Yeeeees!!!
Как я только сам не нашел его?=)))!
Заслуженный плюс те в копилку=).=)

Добавлено @ 00:22 
Итак, решение вопроса, полное и с комментариями.
Код

                    XmlDocument document = new XmlDocument();
                    XmlWriter xmlwriter = XmlWriter.Create("Phonebase.xml"); //создаем документ с именем Phonebase.xml
                    document.AppendChild(document.CreateXmlDeclaration("1.0",null, null));// Объявляем 
                    XmlNode rootNode = document.AppendChild(document.CreateElement("base"));//Создаем корневой элемент
                    XmlNode zapisNode = rootNode.AppendChild(document.CreateElement("start"));
                    document.Save(xmlwriter);//Сохраняем на жесткий диск

--------------------
[color=purple][/color]Died.Of course, System.StackOverflow 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

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


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

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка Windows Forms | Следующая тема »


 




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


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

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