Имя: Пароль:
1C
 
Текст XML содержит недопустимые символы
Ø
0 1cNik
 
29.08.06
10:13
Ошибка при вызове метода контекста (ЗаписатьТекст): Текст XML содержит недопустимые символы
---
Вот такая вот ошибка... кто как с этим борется? просветите плиз.
1 1cNik
 
29.08.06
10:39
up
2 AlexNew
 
29.08.06
10:53
Попытка
Исключение
КонецПопытки
3 Завод Вибраторов
 
29.08.06
10:58
Давай весь текст,
я не знаю прям все варианты когда такая ошибка возникает
4 AlexNew
 
29.08.06
11:08
Наверное он выгрузку делает через правила обмена. У меня тоже такое было.
5 1cNik
 
29.08.06
11:20
(2) Именно так пока это и работает, но это не правильно, т.к. текст так или иначе необходимо выгружать
(3)
Запрос = Новый Запрос;
....
ВыборкаНоменклатуры = Запрос.Выполнить().Выбрать();
Пока ВыборкаНоменклатуры.Следующий() Цикл
...
ФайлХМЛ.ЗаписатьНачалоЭлемента("short_desc");
ФайлХМЛ.ЗаписатьТекст(ВыборкаНоменклатуры.оменклатура.Описание);
ФайлХМЛ.ЗаписатьКонецЭлемента();
...
КонецЦикла;
(4) не, не через правила обмена. Это выгрузка номенклатуры в интернет-магазин. Необходимо передавать описание номенклатуры. Что в описание номенклатуры пользователи забьют, как вы понимаете, заранее не известно.
  
6 1cNik
 
29.08.06
11:30
В описании присутствует симол "". Я бы его исключил, но ведь подобных символов может быть множество (в следующий раз что-нибудь другое попадется)- как вот задать критерий на допустимость!? где взять список этих недопустимых символов? Никакой стандартной функции в 1с вроде нет. :(
7 Завод Вибраторов
 
29.08.06
11:34
1cNik(5)
Видимо заприщаются символы "<" и ">"
Замини их на чтонибуть, или попробуй если возможно использовать
атрибуты.
Описание:
Записывает атрибут элемента. Атрибутов может быть произвольное количество. Атрибут может идентифицироваться полным именем или локальным именем и URI пространства имен. Атрибуты должны записываться после записи начала элемента и перед записью текста элемента.
Пример:
Запись.ЗаписатьНачалоЭлемента("apple");
Запись.ЗаписатьСоответствиеПространстваИмен("nsp", "http://metrics.org");
Запись.ЗаписатьАтрибут("weight", "http://metrics.org", "12.5");
Запись.ЗаписатьКонецЭлемента();
8 VZ
 
29.08.06
11:37
Для начала выясни, при описании чего, каких полей, возникает запись таких символов. Что-то мне шебчет, это отнюдь не наименование товара... Потом и решать, что делать.
А функции работать с символами в 1С есть. Даже не один раз есть.
9 Завод Вибраторов
 
29.08.06
11:37
1cNik(6)
Есть функция возвращающая код символа:
---------------------------
Символ (Char)
Синтаксис:
Символ(<Код символа>)
Параметры:
<Код символа> (обязательный)
Тип: Число. Код получаемого символа. Код задается в соответствии с кодировкой Unicode.
Возвращаемое значение:
Тип: Строка. Результирующий символ.
Описание:
Преобразует код символа в строку, содержащую символ.
Пример:
Буква_Я = Символ(1103);
-----------------------------
я думаю все управляющие символы в опрадаленном диапазоне кодов,
надо читать описание UNICODE
10 1cNik
 
29.08.06
11:53
(7) Создатели сайта прислали формат, так что атрибуты не подойдут. Да и скорее всего там все теже грабли проявяться. Правила они никуда не денутся.
(8, 9) ну я конечно же имел ввиду функции автоматического перевода типа СтрокаВСтрокуХМЛ() :) или УдалитьНедопустимыеСимолы() :) Как бы хорошо с ними жилось... :) а так придется самому писать...
Буду смотреть и думать...
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой