Форум программистов «Весельчак У»
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
Начало
Наши сайты
Галерея
Весельчак У
Наша Вики
Хранилище
Проекты
Правила
Правила форума
Правила русского языка
Помощь
Поиск
Календарь
Почта
Войти
Регистрация
Форум программистов «Весельчак У»
>
Программирование
>
Программирование 1С
>
1С 8.x
(Модераторы:
Harry
,
Kivals
,
Naghual
) > Тема:
Чтение CDATA в xml
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Чтение CDATA в xml (Прочитано 13044 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Элексир
Помогающий
Offline
Пол:
Чтение CDATA в xml
«
:
20-07-2011 19:42 »
Добрый вечер уважаемые!!!. подскажите пожалуйста с такой проблемой.как правильно считать секцию cdata в хмлке с помошью чтениеxml
Код:
пока чтение.прочитать() цикл
если Чтение.ИмяУзла="trend" И Чтение.ТипУзла=ТипУзлаXML.Текст И Чтение.ЗначениеАтрибута("sota")="mega" тогда
Сообщить("Наименование "+Чтение.Значение);
КонецЕсли;
конеццикла;
«
Последнее редактирование: 21-07-2011 12:05 от Элексир
»
Записан
Kivals
Модератор
Offline
Пол:
Re: Чтение CDATA в xml
«
Ответ #1 :
21-07-2011 08:26 »
Ну а что не так в коде?
Пример файла прикрепи....
Записан
Элексир
Помогающий
Offline
Пол:
Re: Чтение CDATA в xml
«
Ответ #2 :
21-07-2011 11:29 »
Код:
//
<trend sota="mega">
<![CDATA[Текст]]></trend>
//
по циклу он проходит мимо
и еще такой вопрос можно ли в 1с сгенерировать guid каким то образом?
извиняюсь плохо искал уникальныйидентификатор )))
Добавлено через 1 минуту и 30 секунд:
Kivals
, подскажи плизз. как ее прочесть?
«
Последнее редактирование: 21-07-2011 14:28 от Элексир
»
Записан
Kivals
Модератор
Offline
Пол:
Re: Чтение CDATA в xml
«
Ответ #3 :
21-07-2011 15:42 »
Пройдись отладчиком по коду - ИМХО у тебя <![CDATA[Текст]]> это отдельный узел получается и все 3 условия одновременно не выполняются.
Сделай так:
Код:
Пока Чтение.Прочитать() Цикл
Сообщить("ИмяУзла:"+Чтение.ИмяУзла+", ТипУзла:"+Чтение.ТипУзла+", ЗначениеАтрибута:"+Чтение.ЗначениеАтрибута("sota"));
Если Чтение.ИмяУзла="trend" И Чтение.ТипУзла=ТипУзлаXML.Текст И Чтение.ЗначениеАтрибута("sota")="mega" Тогда
Сообщить("Наименование "+Чтение.Значение);
КонецЕсли;
КонецЦикла;
Записан
RXL
Технический
Администратор
Offline
Пол:
Re: Чтение CDATA в xml
«
Ответ #4 :
21-07-2011 16:24 »
Логично - тут в <trend> два текстовых узла.
Записан
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Элексир
Помогающий
Offline
Пол:
Re: Чтение CDATA в xml
«
Ответ #5 :
22-07-2011 05:49 »
Kivals
, спасибо щас попробую
Добавлено через 36 минут и 52 секунды:
Kivals
, попробовал действительно. первые узлы соответсвуют началу элемента. А как мне вовнутрь попадать?
м.б так?
Код:
Если Чтение.ИмяУзла="trend" И Чтение.ТипУзла=ТипУзлаXML.НачалоЭлемента И Чтение.ЗначениеАтрибута("sota")="mega" Тогда
флаг=1;
КонецЕсли;
Если флаг=1 и Чтение.ТипУзла=ТипУзлаXML.Текст тогда
Сообщить(Чтение.Значение);
КонецЕсли;
Так тоже не отрабатывает подскажите в какую сторону копать? он так все тексты показывает какие есть
«
Последнее редактирование: 22-07-2011 06:26 от Элексир
»
Записан
Kivals
Модератор
Offline
Пол:
Re: Чтение CDATA в xml
«
Ответ #6 :
22-07-2011 06:37 »
Где результат вывода "Сообщить();" ?
Цитата
... он так все тексты показывает какие есть
Потому что ты не сбрасываешь флаг. По какому-то условию у тебя флаг должен быть сброшен.
Самое простое (но не самое верное) - сразу после чтения текста, т.е.
Код:
Если флаг=1 и Чтение.ТипУзла=ТипУзлаXML.Текст тогда
флаг = 0;
Сообщить(Чтение.Значение);
КонецЕсли;
Записан
Элексир
Помогающий
Offline
Пол:
Re: Чтение CDATA в xml
«
Ответ #7 :
22-07-2011 07:03 »
Kivals
, спасибо все работает
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Форум программистов «Весельчак У»
>
Программирование
>
Программирование 1С
>
1С 8.x
(Модераторы:
Harry
,
Kivals
,
Naghual
) > Тема:
Чтение CDATA в xml
Загружается...