Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как сохранить бинарник в атрибуте XML 
V
    Опции темы
Mephisto
Дата 28.3.2008, 17:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Волкъ
***


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

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



Код

bool test(CComQIPtr<IXMLDOMElement>& testPTR){
  unsigned char BinaryData[31];
  SomeConversionsWithData(BinaryData);
  return SUCCEEDED(fXMLNode->setAttribute(BSTR("DataAttr"), ???));
}

Есть собственно массив байт, необходимо сохранить их в атрибут IXMLDOMElement. Может кто подскажет как ента реализовать.
СПС.
PM   Вверх
Rififi
Дата 28.3.2008, 17:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



сделать цикл for и сформировать строку вида "b1, b2 ..."
при чтении соответственно потребуется обратная конверсия
PM MAIL   Вверх
Mephisto
Дата 1.4.2008, 20:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Волкъ
***


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

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



Цитата(Rififi @  28.3.2008,  18:59 Найти цитируемый пост)
сделать цикл for и сформировать строку вида "b1, b2 ..."
при чтении соответственно потребуется обратная конверсия 

А если в строке встретятся символы " или >, или еще хуже последовательность "> 
PM   Вверх
Rififi
Дата 1.4.2008, 23:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



значит надо сделать так, чтобы не встретилась
PM MAIL   Вверх
Mephisto
Дата 2.4.2008, 08:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Волкъ
***


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

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



Цитата(Rififi @  2.4.2008,  00:02 Найти цитируемый пост)
значит надо сделать так, чтобы не встретилась 

Это невозможно! Бинарник складывается по битам. Я понятия не имею что будет в него входить. 
PM   Вверх
Rififi
Дата 2.4.2008, 09:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Mephisto, 
в исходном бинарнике может быть всё что угодно.
важно, чтобы в результирующем текстовом представлении оказались только символы из числа разрешённых в xml
PM MAIL   Вверх
Mephisto
Дата 2.4.2008, 11:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Волкъ
***


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

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



Цитата(Rififi @  2.4.2008,  10:15 Найти цитируемый пост)
в исходном бинарнике может быть всё что угодно.
важно, чтобы в результирующем текстовом представлении оказались только символы из числа разрешённых в xml 

Дык задачта-то как раз и состоит в том чтоб сторона которая разбирает XML получила исходный бинарник. В нем содержится конфигурация оборудования в чистом виде, битики и всякая чушь. Если менять кофигурацию на ходу то это лишает всяческого смысла весь процесс. 
PM   Вверх
xvr
Дата 2.4.2008, 15:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

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



Цитата(Mephisto @ 2.4.2008,  11:20)
Цитата(Rififi @  2.4.2008,  10:15 Найти цитируемый пост)
в исходном бинарнике может быть всё что угодно.
важно, чтобы в результирующем текстовом представлении оказались только символы из числа разрешённых в xml 

Дык задачта-то как раз и состоит в том чтоб сторона которая разбирает XML получила исходный бинарник. В нем содержится конфигурация оборудования в чистом виде, битики и всякая чушь. Если менять кофигурацию на ходу то это лишает всяческого смысла весь процесс.

Ну так и закодируй твой бинарник в текстовом виде, например в Base64 или вообще в виде hex дампа.
PM MAIL   Вверх
Mephisto
Дата 2.4.2008, 15:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Волкъ
***


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

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



xvr, вот я как раз и думаю сейчас про хекс дамп, но вообще в XML есть специальный тег для бинарных данных. Даж знаю как выглядит, но не могу понять как в гребаном MS XML его использовать :(
PM   Вверх
xvr
Дата 2.4.2008, 20:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

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



Цитата(Mephisto @ 2.4.2008,  15:33)
xvr, вот я как раз и думаю сейчас про хекс дамп, но вообще в XML есть специальный тег для бинарных данных. Даж знаю как выглядит, 

Ой, а это какой:? CDATA что ли? Так он не для бинарных, а просто для текстовых, но без учета разметки. Хотя можно попробовать его и для бинарных

Цитата

но не могу понять как в гребаном MS XML его использовать :(
Там есть элемент с соотвествующим типом (DOM Node, тип NODE_CDATA_SECTION)

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


Волкъ
***


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

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



xvr, .net по крайней мере неплохо может в XML сереализовать картинки и звук в XML. Там чистый бинарник без извратов. Просто не могу в свое приложение подтянуть классы .net.
PM   Вверх
xvr
Дата 8.4.2008, 20:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

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



Цитата(Mephisto @ 8.4.2008,  19:23)
xvr, .net по крайней мере неплохо может в XML сереализовать картинки и звук в XML. Там чистый бинарник без извратов. Просто не могу в свое приложение подтянуть классы .net.

А может надо не подтягивать .net к себе, а просто посмотреть во что превращается сериализованные .net бинарники в xml? (Посмотреть можно например блокнотом)

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


Волкъ
***


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

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



Цитата(xvr @  8.4.2008,  21:24 Найти цитируемый пост)
А может надо не подтягивать .net к себе, а просто посмотреть во что превращается сериализованные .net бинарники в xml? (Посмотреть можно например блокнотом)

Есть еще проще вариант! Я енти теги в MSDN видел. Точно не припомню, но кажется нечто вроде [! !] Между ними располагается бинарник. Там описывалась работа с тегами данных, но с использованием классов .net. 
Как ента реализовать при помощи MSXML хз. Ладно, если чего накопаю, сюда отпишу. ;)
PM   Вверх
xvr
Дата 9.4.2008, 12:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

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



Цитата(Mephisto @ 8.4.2008,  20:28)
Цитата(xvr @  8.4.2008,  21:24 Найти цитируемый пост)
А может надо не подтягивать .net к себе, а просто посмотреть во что превращается сериализованные .net бинарники в xml? (Посмотреть можно например блокнотом)

Есть еще проще вариант! Я енти теги в MSDN видел. Точно не припомню, но кажется нечто вроде [! !] Между ними располагается бинарник.

<![CDATA[ ...]]> ? Оно не совсем бинарное  smile 
PM MAIL   Вверх
Mephisto
Дата 9.4.2008, 13:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Волкъ
***


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

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



xvr, да, пожалуй ты прав.  smile 
Что ж тогда буду бинарник представлять в шестнадцатиричном формате по 2 байта на байт. 
PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: COM/DCOM/ActiveX/ATL/CORBA | Следующая тема »


 




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


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

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