Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с текстом XML 
:(
    Опции темы
Mephisto
Дата 3.7.2007, 13:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Волкъ
***


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

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



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

Если сохранять его в файл методом 
Код

virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE save( 
            /* [in] */ VARIANT destination) = 0;

То в файл отваливаются данные где строки сохранены в unicode. 
Вот пример одного атрибута ноды:
Цитата

Title="╨в╨╡╨╜╤Б╤В╨╛╨▓╤Л╨╣ ╨║╨╛╨╛╤А╨┤╨╕╨╜╨░╤В╨╛╤А">

А если пользоваться методом
Код

        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_xml( 
            /* [out][retval] */ BSTR *xmlString) = 0;

и заполнить бупер. То там прямой ANSI String. Так вот проблема в том что атрибуты не могут быть сохранены в ANSI String! Иначе при обратной вычитке он возвращает ошибку! 
Пишу так:
Код

    BSTR test;
    hr = pDoc->get_xml(&test);
    if (FAILED(hr)) throw "неасилил передать";

    CString temp(test);

Такой вариант не кактит:
Код

    BSTR test;
    hr = pDoc->get_xml(&test);
    if (FAILED(hr)) throw "неасилил передать";

    CStringW temp(test);

Иначе он все в unicode закодирует... :/
PM   Вверх
Mephisto
Дата 3.7.2007, 16:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Волкъ
***


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

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



Хочу добавить... Версия с unicode правильная. Вторая вообще не вычитывается ничем
PM   Вверх
_hunter
Дата 3.7.2007, 17:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

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



а в чем проблема перекодить ANSI в Unicode?
http://support.microsoft.com/kb/138813


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Mephisto
Дата 4.7.2007, 12:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Волкъ
***


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

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



_hunter, потому как часть должна остатся в анси. :( Только значение атрибута  title в уникоде.  smile

Добавлено через 2 минуты и 44 секунды
Вот это верно:
Цитата

<TRROP Settings.RRNum="0" Settings.NetAddress.AsWord="0" Settings.SignalControlPeriod="3" Settings.ChildControlPeriod="3" Settings.OPCheck="1" Settings.RPCheck="0" Title="╨в╨╡╨╜╤Б╤В╨╛╨▓╤Л╨╣ ╨║╨╛╨╛╤А╨┤╨╕╨╜╨░╤В╨╛╤А">

Вот это неверно:
Цитата

<TRROP Settings.RRNum="0" Settings.NetAddress.AsWord="0" Settings.SignalControlPeriod="3" Settings.ChildControlPeriod="3" Settings.OPCheck="1" Settings.RPCheck="0" Title="Тестовый заголовок">

PM   Вверх
jonie
Дата 9.7.2007, 23:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



кодируй в base64 при записи, при вычетке обратно - любые бинарные файлы не проблема тем же способом. Шабон для base64 можно утянуть у майкрософт atlenc.h файл, если не ошибаюсь. Если я правильно понял проблему (почему нельзя перекодировать в unicode)....ибо причин перекодировать в unicode я иных не вижу (кроме как сохранения бинарных данных)

Это сообщение отредактировал(а) jonie - 10.7.2007, 00:00


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
Mephisto
Дата 10.7.2007, 12:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Волкъ
***


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

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



Цитата(jonie @  10.7.2007,  00:59 Найти цитируемый пост)
ибо причин перекодировать в unicode я иных не вижу (кроме как сохранения бинарных данных)

Я просто сгенериный xml использую в delphi. Там есть обертка вокруг той же либы. Вот там возникла прабла с uncode.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: COM/DCOM/ActiveX/ATL/CORBA | Следующая тема »


 




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


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

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