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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> 2 дополнительных символа при сохранении файла 
V
    Опции темы
Darkmaster
Дата 6.10.2008, 17:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Заметил один интересный момент - и не могу понять, в чем его причина. Надеюсь, что кто-нибудь знает. Ради интереса я сохраняю xml-файл через StreamReader следующим образом:

Код

 using(StreamWriter sw = new StreamWriter(path, false))
            {              
                file = file.Insert(file.Length - 10, String.Format("<post><id>{0}</id><title>{1}</title><text>{2}</text><tags>{3}</tags></post>", id, richTextBox1.Text,
                    richTextBox2.Text, richTextBox3.Text));
                sw.WriteLine(file);
            }


переменная file - это простая строка, содержащая в себе "<?xml version=\"1.0\" standalone=\"yes\" ?><posts></posts>". Так вот, когда я первый раз вызываю метод, описанный выше, то все сохраняется отлично и получается следующий файл:

Код

<?xml version="1.0" standalone="yes" ?> 
- <posts>
- <post>
  <id>38</id> 
  <title>Title</title> 
  <text>Title</text> 
  <tags>Tags</tags> 
  </post>
  </posts>


Все отлично. Мы просто сохраняем новые post между posts. Далее интереснее. Когда мы сохраняем еще один post, то он почему-то добавляется прямо на закрывающий тег posts, вот таким образом:

</<post>... </post>posts>

Тут я при помощи MessageBox узнал интересный момент. После того, как мы вносим первый post в файл, и сохраняем его - длина файла получается на 2 символа больше, чем длина строки. При последующих сохранениях такого нет. Как это можно исправить и что это за два символа? 

--------------------
GeekTV - интернет-телевидение для гиков
PM MAIL   Вверх
PashaPash
Дата 6.10.2008, 19:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1233
Регистрация: 3.1.2008

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



Darkmaster, WriteLine после file дописывает перенос строки  - как раз 2 байта.


--------------------
PM MAIL WWW   Вверх
Darkmaster
Дата 6.10.2008, 20:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



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

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


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

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


 




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


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

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