Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Разное - [решено] Замена спецсимволов в xml в C#

Ответить
Настройки темы
Разное - [решено] Замена спецсимволов в xml в C#

Новый участник


Сообщения: 14
Благодарности: 0

Профиль | Отправить PM | Цитировать


Изменения
Автор: Gamer
Дата: 13-04-2011
Всем прива.

Есть некая прога на C#, которая берет данные из некой БД и пихает все это дело в .xml . В данных часто попадаются различные спецсимволы, которые надо менять на соответствующие коды при выгрузке в .xml. Но. Программа меняет то, что не надо. Например, в исходных данных мы имеем:

Код: Выделить весь код
Тест&Тест
Это добро нам надо обработать. Программа это делает методом(?) Replace:

Код: Выделить весь код
strText.Replace("&", "& amp;");
В .xml мы ожидаем увидеть это:

Код: Выделить весь код
Тест& amp;Тест
А получаем вот это:

Код: Выделить весь код
Тестamp;amp;Тест
Глядя на эту печальную картину, вырисовывается предположение, что где-то в программе есть глобальная настройка или что-нибудь типа этого, что регламентирует замену символов и превалирует над дальнейшим кодом. Загвоздка в том, что я понятия не имею, что это. Хотя гугл кивает в сторону system.xml .

Буду благодарен, если кто подскажет, как можно убрать эту автозамену.

Отправлено: 11:22, 13-04-2011

 

Старожил


Сообщения: 154
Благодарности: 39

Профиль | Отправить PM | Цитировать


не хота лезть в описание этого метода, но что Вам мешает скажем в тексте циклом искать этот & и когда его встретишь сразу после него дописывать " amp;" т.е. грубо вы же всеравно копируете текст, почему бы его при это не анализировать посимвольно?

Отправлено: 18:09, 13-04-2011 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 14
Благодарности: 0

Профиль | Отправить PM | Цитировать


Хм. Если есть глобальное правило, не получится ли, как с Replace?

Отправлено: 09:28, 15-04-2011 | #3


Старожил


Сообщения: 154
Благодарности: 39

Профиль | Отправить PM | Цитировать


ну смотря как ты напишешь. все в твоих руках - не можешь понять как работает функция - пишешь свою функцию

Отправлено: 16:27, 15-04-2011 | #4


Новый участник


Сообщения: 14
Благодарности: 0

Профиль | Отправить PM | Цитировать


Совершенно верно. Понять, как работает Replace, а, точнее, почему выгружает неправильно, я так и не смог.

Зато обнаружил такую замечательную штуку как WriteRaw, подправил программку и обрел счастье.

Собственно, спасибо, проблему можно считать решенной. ъ

UPD: Поправка. Дело не Replace, а в WriteElementString, который, видимо, автоматом заменяет спецсимволы в данных перед выводом.

Последний раз редактировалось Gamer, 18-04-2011 в 09:38.


Отправлено: 17:05, 15-04-2011 | #5



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Разное - [решено] Замена спецсимволов в xml в C#

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Редактор XML Vlad Drakula Программное обеспечение Windows 0 10-03-2008 03:15
[решено] проверка XML-файла на соответствие XML schema в IE 6 и Firefox 2 dimait Вебмастеру 4 23-08-2007 02:02
XML zelo Общий по Linux 9 06-11-2006 13:39
Xml.Save Kostuch Вебмастеру 3 10-12-2005 02:05
xml ptt Программирование и базы данных 1 19-12-2003 19:37




 
Переход