C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
ClientDataSet, сохранение в xml
Лена
Отправлено: 30.11.2006, 13:01


Мастер участка

Группа: Участник
Сообщений: 501



Сохраняю содержимое ClientDataSet в xml файл. Вижу его содержимое после сохранения в программе HomeSite:
CODE

<?xml version="1.0" standalone="yes"?>
<DATAPACKET Version="2.0">
<METADATA>
<FIELDS>
<FIELD attrname="id" fieldtype="i4"><PARAM Name="PROVFLAGS" Value="5" Type="i4" Roundtrip="True"/></FIELD>
<FIELD attrname="name" fieldtype="string" WIDTH="50"><PARAM Name="PROVFLAGS" Value="1" Type="i4" Roundtrip="True"/></FIELD>
<FIELD attrname="enabled" fieldtype="boolean"><PARAM Name="PROVFLAGS" Value="1" Type="i4" Roundtrip="True"/></FIELD>
</FIELDS>
<PARAMS PRIMARY_KEY="1"/>
</METADATA>
<ROWDATA>
<ROW id="9" name="Вход в гараж" enabled="FALSE"/>
<ROW id="14" name="Вход в дверь" enabled="TRUE"/>
<ROW id="5" name="Вход в кино" enabled="FALSE"/>
<ROW id="4" name="Вход в подвал" enabled="TRUE"/>
<ROW id="24" name="Вход в ракету" enabled="FALSE"/>
<ROW id="3" name="Вход в секретную комнату" enabled="TRUE"/>
<ROW id="19" name="Выход вниз" enabled="FALSE"/>
<ROW id="7" name="Выход наверх" enabled="FALSE"/>
<ROW id="15" name="Выход ногами вперед" enabled="FALSE"/>
<ROW id="27" name="Выход сверху вниз" enabled="TRUE"/>
<ROW id="16" name="Выхода нет" enabled="FALSE"/>
<ROW id="1" name="Основной вход" enabled="TRUE"/>
<ROW id="18" name="Привет" enabled="TRUE"/>
<ROW id="2" name="Черный вход" enabled="TRUE"/></ROWDATA>
</DATAPACKET>


При попытке просмотра в Internet Exporer получаю ошибку на строке где первыми встречаются русские буквы:
CODE

Сообщение Internet Exporer:
В текстовом комментарии обнаружен недопустимый знак. Ошибка при обработке ресурса ''file:///C:/Documents and Settings/Лена/...
<ROW id="9" name="


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

Значит не возможно просмотреть xml файл браузером, если в нем русские буквы? Получается метод SaveToFile компонента ClientDataSet бесполезен при наличии кирилицы в колонках грида?
Лена
Отправлено: 30.11.2006, 15:05


Мастер участка

Группа: Участник
Сообщений: 501



Если написать в первой строке так: ?xml version="1.0" encoding="windows-1251"?
то все нормально становиться. Жаль, что ClientDataSet не делает так по умолчанию при сохранении. biggrin.gif

Отредактировано Лена — 30.11.2006, 15:05

Вернуться в Работа с базами данных в C++Builder