Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

XML: Некоректное булевкое значение атрибута тега

7.4K
15 марта 2007 года
Gole
31 / / 31.10.2005
При экспорте данных в xml документ использую следующий код:
 
Код:
xmlLevel1 = xmlDoc->AddChild("root:Data");
   ansi_buf = Query->FieldByName("DATA")->AsString;
   if( ansi_buf.Length() )
   {
      xmlLevel1->SetText( ansi_buf );
      xmlLevel1->SetAttribute( "xsi:nil", false );

   }
   else xmlLevel1->SetAttribute( "xsi:nil", true );

Все бы хорошо, но при установке значений атрибута xsi:nil, вместо нужной строки типа
 
Код:
xsi:nil="[color=red]t[/color]rue"

получается вот такая
 
Код:
xsi:nil="[color=red]T[/color]rue"

Определенный софт такое значение просто не принимает как булевкое (это факт, проверяющий софт не изменить ).
Даже не знаю за что хвататся.
Не сталкивался ли кто-то с подобной проблемой? Очень нужна помощь.
263
15 марта 2007 года
koltaviy
816 / / 16.12.2004
Ну тогда только так наверно:(
 
Код:
..
xmlLevel1->SetAttribute( "xsi:nil", "true" );
..
7.4K
17 марта 2007 года
Gole
31 / / 31.10.2005
Увы, но этого недостаточно :(
Нужно еще привести обе строки (с названием атрибута и его значением) к типу WideString :)
263
17 марта 2007 года
koltaviy
816 / / 16.12.2004
Цитата: Gole
Увы, но этого недостаточно :(
Нужно еще привести обе строки (с названием атрибута и его значением) к типу WideString :)


Ну либо так, если строку формируешь в run-time!!

Код:
AnsiString txtParam = GetTheParamFromSomeFunction();
AnsiString txtValue = GetTheValueFromSomeFunction();
WCHAR *bufParam;
WCHAR *bufValue;
bufParam = new WCHAR[txtParam.WideCharBufSize()];
bufValue = new WCHAR[txtValue.WideCharBufSize()];
 
xmlLevel1->SetAttribute(txtParam.WideChar(bufParam, txtParam.WideCharBufSize()), txtValue.WideChar(bufValue, txtValue.WideCharBufSize()));
 
delete[] bufParam;
delete[] bufValue;

А если значения заведомо известны, можно и так:
 
Код:
xmlLevel1->SetAttribute(L"xsi:nil", L"true");
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог