#0
by Crush
Пришел ко мне очередной xml файл какого то формата. Хочу прочитать. Писать код типа "КореньДОМ.ПолучитьЭлементыПоИмени(" уже надоело. Хочется где то отдельно описать структруктуру xml файла и обращаться к узлам как объектам. Пока начал курить XDTO, но не уверен что двигаюсь в правильном направлении. Подопните пожалуйста. Задайте вектор. В xdto меня смущает такая конструкция ФабрикаXDTO.Тип(";, "Номенклатура"), т.е. описание типа должно лежать на web-ресурсе. А как то в дереве метаданых можно описать структуру и типы и сказать что Этот файл должен читаться вот по Этой структуре?
#2
by Crush
В примерах везде такая конструкция дробныйТип = ФабрикаXDTO.Тип(";, "decimal"); - это вот локально можно изобразить? Пока такого примера не нашел
#6
by viacheslav
XDTO для ваших целей самое оно, мне кажется вот цикл из 3 статей, где доступно изложено про XDTO И в частности, ответ из этой статьи на ваш вопрос про пространства имен: По традиции (и по многим другим соображениям), пространства именуются в виде URL-подобных строк. Например, “”. Причем, это не ссылка в сети, это просто строка-идентификатор. Документы пестрят этими “ссылками” и ,сталкиваясь с ними, начинающий специалист впадает в ступор - “что это за адреса, что по ним расположено, а что, если нет интернета...” Так вот, это не адреса, это уникальные идентификаторы пространств имен. Строка может быть любой.
#7
by Господин ПЖ
>Ссылки в описаниях типа чисто формальные не совсем. ссылка говорит что это "стандартный" decimal. По "ГОСТу"... любой крендель может зайти на w3.org и может ознакомиться. будет "нести отсебятину" в коде ссылаясь на это пространство - проблемы буратины
#12
by Crush
Открыл в отладчике ОбъектXDTO - Вот это круто!!! Осталось только типы задать, а то все примитивные типы - строки. А тип СписокXDTO можно конвертировать в таблицу значений средствами xdto или только кодом тз заполнять?
#13
by Timon1405
посмотрите БСП - модуль КонтактнаяИнформацияСлужебный, там есть десериализация, может быть будет полезно
#14
by Crush
Что то не курицца никак. В схеме определил числовой тип, а на выходе всё равно строка. test.xml: <?xml version="1.0" encoding="utf-8"?><Корень Число="34,55">блаблабла</Корень>
#16
by Crush
Не смог Ссылки нифига не формальные, а очень даже с индивидуальными назначениями. Был удивлен получив тип своего справочника ФабрикаXDTO.Тип(";, "CatalogObject.Номенклатура") Причем если поменять пространство имен, то результат пропадает. Нашел такое же имя в ФабрикаXDTO.Пакеты, коих там много. А где может быть описание их назначений? Я так понимаю, что добавив общий XDTO-пакет Фабрика будет о нем знать и сможет использовать.
#18
by Crush
Голова что то пухнет. Может кто подскажет как имея файл <?xml version="1.0" encoding="utf-8"?><Корень Число="34,55">блаблабла</Корень> Прочитать его через фабрику и число приобрело бы числовой тип?
#21
by Crush
Спасибо! Полезная ссылочка ушла в закладки. Поменял на точку - не помогло. Изменил наименования узла и атрибута на латинские - не помогло (в схеме тоже поменял).
#22
by Crush
Мне вот странно. В примере используется текстовое поле узла <prize>999.50</prize> А я использую значение атрибута узла. Причем текстовое поле со значением "блаблабла" игнорируется (скорее от того, что не прописано в схеме) Может для атрибутов есть какие то другие способы определения типа значения?
#25
by Crush
Не сработало Ну как же нет. А это что: <?xml version="1.0"?> <xs:schema xmlns:xs="; <xs:element name="Корень">
#26
by Crush
Точнее сейчас это так выглядит (убрал кирилицу) <?xml version="1.0" encoding="utf-8"?> <xs:schema xmlns:xs=";
#30
by Дык ё
забей на схему, конверти anyType на лету :) www = ФабрикаXDTO.Привести(ФабрикаXDTO.Тип(";, "decimal"), qqq.ПолучитьXDTO("www")).Значение;
#31
by Зойч
<!-- Generated using Flame-Ware Solutions XML-2-XSD v2.0 at --> <xs:schema id="NewDataSet" xmlns="" xmlns:xs="; xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
#33
by Crush
Да. Убрал из неё всё лишнее (на свой взгляд). Сейчас с такой же пробовал (заменил string на decimal) <xs:attribute name="www" type="xs:decimal" /> Всё равно не взлетает.
#34
by Crush
тоже не взлетает ЧтениеXML.URIПространстваИмен,ЧтениеXML.Имя - эти свойства пустые. Так и должно быть?
#35
by Crush
Некрасиво как то. Будет таблица из 20 колонок и 10000 строк. Каждое значение приводить к типу накладно будет.
#37
by Serginio1
Вообще при записи лучше придерживаться такой схемы ЗаписьXML.ЗаписатьСоответствиеПространстваИмен("xsi", ";); ЗаписьXML.ЗаписатьСоответствиеПространстваИмен("xs", ";); .....
#38
by Crush
Ну наконец то дело сдвинулось с мёртвой точки. Для начинающих хороший пример работы с XDTO в 22 комментарии статьи
#40
by Crush
Нет. Только чуть-чуть сдвинулся с мертвой точки и... похоче умом тоже двигаюсь потихоньку. Читать и писать научился. Но почему когда я явно в схеме указываю, что это decimal у меня в объектеХДТО всё равно строка? Если использовать метод ПРИВЕСТИ, то получаю ЧИСЛО. Неужели ко всем свойствам индивидуально нужно применять метод ПРИВЕСТИ? Мне как то кажется, что если я в схеме указал тип атрибута, то все значения этого атрибута должны как то сами соответствовать типу.
#41
by Torquader
Ну если уж очень хочется читать по узлам, то xml можно читать как текстовый файл, тогда прочитать можно всё - даже неправильный xml, но вопрос в том - зачем это нужно.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Чтение пароля пользователя...
- XML. чтение и запись - как лучше и удобнее ?
- Чтение XML
- XML ошибка "Не удается просмотреть ввод XML с использованием списка стилей
- Чтение XML
- как получить все роли в 1С и у этих ролей убрать признак чтение?
- XDTO и списки XDTO. Чтение
- XML чтение и XML запись
- Чтение XML через фабрику XDTO. Как получить значение?
- v7: Чтение XML POST - запросы
- Чтение атрибутов XML файла, у которых нет имени
- Чтение XML с помощью XDTO (не определяет типы)
В этой группе 1С
- 1С Зазеркалье: Развитие сравнения/объединения модулей
- Флаги в УТ 10.3 по учету НДС
- Активация Windows XP Embedded
- М11 -требование накладная- вывести итог по сумме
- УТ10.3 Учет сумм с НДС и без НДС в регистре Партии товаров на складах (упр. уче
- Конвертация данных. Отмена записи объекта на этапе ПослеЗагрузки
- как удалить эмулятор ключа Hasp
- не заполняется поле "организация" в договоре (бухгалтерия ред. 3.0)
- "Недостаточно фактических параметров!"
- Запуск регламентного задания (для проверки) в локальной базе (файловая)?
- План видов расчета, удержания организаций, разовые удержания
- 1С УПП Требование накладная Восстановление НДС
- Повторное использование возвращаемых значений функций общих модулей 1С 8.2.19.8
- Нужна внешняя печатная форма для ут 11 "универсальный передаточный документ"
- КД. СтрокаПоискаВыгрузкиСсылки
- как сделать перенос строки в шаблоне Word из 1С
- в запросе Если не выбрал значение то по всем
- 1С 8.3 + ЗУП 2.5 + PostgreSQL = Тормозит
- v7: Масса брутто в ТОРГ-12
- Не найдена лицензия. Не обнаружен ключ защиты программы или полученная программн