• Добро пожаловать на Форум пользователей ПО АСКОН. Пожалуйста, авторизуйтесь.
 

Уважаемые пользователи,

Хотим проинформировать вас о режиме работы регистрации на нашем сайте.

Зарегистрироваться возможно в рабочие дни, с 8:00 до 20:00 (мск).

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

Благодарим вас за понимание и сотрудничество. Мы ценим ваше терпение и стремимся предоставить вам лучший опыт использования нашего сервиса.

С уважением,
Команда Ascon

Что можно сделать с атрибутом типа текст

Автор e7now, 22.07.14, 13:53:09

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

e7now

В общем, выполняю команду string aa = c_loodsman.GetAttrPlainTextValue(14570, "Комментарий", 0, out inReturnCode, out stError);
Возвращает строку в формате xml
Значение атрибута выглядит следующим образом:
YWFhYWFh (значение атрибута должно быть "aaaaaa"

Не подскажете, в каком виде оно хранится и каким образом можно получить читаемый текст?

Manuylov

GetAttrPlainTextValue - возвращает TClientDataset, т.е. набор данных (dataset)

e7now

string aa = c_loodsman.GetAttrPlainTextValue(14570, "Комментарий", 0, out inReturnCode, out stError);
XmlDocument xml = new XmlDocument();
xml.LoadXml(aa);
var nodes = xml.SelectNodes("/ROOT/rowset/row");
string attr = nodes[0].Attributes["c2"].Value.ToString();


Вот, что получилось в переменной attr:

<?xml version=\"1.0\" encoding=\"UTF-16\"?>
<ROOT>
<fieldset>
<field Id=\"c0\" Name=\"_ID\" DataType=\"int\"/>
<field Id=\"c1\" Name=\"_NAME\" DataType=\"string\"/>
<field Id=\"c2\" Name=\"_TEXT\" DataType=\"blob\"/>
<field Id=\"c3\" Name=\"_ATTRTYPE\" DataType=\"int\"/>
</fieldset>
<rowset>
<row c0=\"18131\" c1=\"Комментарий\" c2=\"MTIzNDU2Nzg5\" c3=\"5\" />
</rowset>
</ROOT>


Как извлечь из этой строки параметр c2, я знаю. Вопрос в том, каким образом из строки MTIzNDU2Nzg5 получить 123456789?

Chaa

Текст закодирован в Base64. Вам нужно что-то вроде этого:
public static string Base64Decode(string base64EncodedData) {
  var base64EncodedBytes = System.Convert.FromBase64String(base64EncodedData);
  return System.Text.Encoding.Default.GetString(base64EncodedBytes);
}
+ Благодарностей: 1