Здравствуйте, уважаемые участники Community!

Возникла следующая проблема в версии 3.2.1.54

В разделе OLAP после создания представления для OLAP-куба и его настройки невозможно к нему вернуться. Возникает parse error при попытке считать XML-данные из Blob-a настройки представления.

Скрипт scr_OLAPUtils, функция GetXMLDataByID(Window, ID)

строка

XMLStorage.LoadFromDataset(XMLDataset, 'XMLData');

Очевидно, битая XML, так как в датасете она есть. Прикрепляю образец XML-ки, взятый прямо из блобовского поля этого датасета.

Ну, и вопрос традиционный: что делать, как побороть ошибку? Боюсь, что само ядро делает что-то неправильное с XML в этот момент.

Очень рассчитываю на вашу помощь.

Нравится

4 комментария

Анатолий, судя по всему в XML файле указано что он UTF-8, но реально для UTF-8 у него не хватает двух начальных байт этого формата. Но это не главное. Если открыть этот файл в Chrome, например, то получаем "error on line 236 at column 32: invalid character in attribute value". И действительно, если туда посмотреть, то в этой позиции не все хорошо. Думаю что проблема кроется в сохранении. Скорее всего сказывается то, что UTF-8 при сохранении получился совсем не UTF-8

Анатолий, еще мысль. В узле View в атрибуте PivotData помещен XML. Это плохой знак. Я бы порекомендовал преобразовать значение атрибута в MIME, и положить его. При вычитке, конечно же, делать обратную операцию.

Спасибо, Сергей!
Эту задачу я пока не разрешил, но мыслю в том же направлении, пытаясь преобразовать сохраняемый XML, а потом перед чтением в XMLStorage преобразовать вновь к исходному виду. Если получится ликвидировать ошибку - будет, по крайней мере, частное решение; сейчас оно мне крайне важно. Дальше в спокойной обстановке можно будет проанализировать причины, отчего текст XML так искажается при сохранении.

Решение найдено!
Огромное спасибо всем, кто отозвался, и, главное, Александру Лучкиву! Средство очень простое: поставить OWC11 :smile:

Показать все комментарии