По теме из базы знаний
- XML-парсер "от О-Планета"
- Обзор имеющихся библиотек OneScript
- Синхронизация хранилища 1С и git-репозитория с применением OneScript и Gitsync. Методика и пошаговая инструкция для создания скрипта и его регулярного запуска
- Клиент API ГИС МТ (ИС МП) "Честный знак". Чтение данных и отправка документов. Работа на стороне сервера.
- Обзор полезных методов БСП 3.1.4
Найденные решения
Зачем Вам схемы и фабрики? Просто чтениеXML не поможет для такой простой задачки?
У него для атрибутов и значений узла разные методы:
ПолучитьАтрибут() - метод
Значение - свойство
У него для атрибутов и значений узла разные методы:
МойХМЛ.ПолучитьАтрибут(<НомерАтрибута>) по номеру
МойХМЛ.ПолучитьАтрибут(<ИмяАтрибута>) по имени
МойХМЛ.Значение - значение текущего узла
ПолучитьАтрибут() - метод
Значение - свойство
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(4)
Схема:
Код:
Схема:
<xs:schema xmlns:tns="http://www.sample-package.org" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.sample-package.org" attributeFormDefault="unqualified" elementFormDefault="qualified">
<xs:complexType name="БазоваяЕдиница">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="МеждународноеСокращение" use="required"/>
<xs:attribute name="НаименованиеПолное" use="required"/>
<xs:attribute name="Код" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="Файл">
<xs:sequence>
<xs:element name="БазовыеЕдиницы" type="tns:БазоваяЕдиница" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
ПоказатьКод:
Процедура КнопкаВыполнитьНажатие(Кнопка)
ИмяФайла = ПолучитьИмяВременногоФайла("xsd");
Макет = ПолучитьМакет("Макет");
Макет.Записать(ИмяФайла);
Фабрика = СоздатьФабрикуXDTO(ИмяФайла);
УдалитьФайлы(ИмяФайла);
Файл = Фабрика.Создать(Фабрика.Тип("http://www.sample-package.org", "Файл"));
БазоваяЕдиница = Фабрика.Создать(Фабрика.Тип("http://www.sample-package.org", "БазоваяЕдиница"));
БазоваяЕдиница.МеждународноеСокращение = "PCE";
БазоваяЕдиница.НаименованиеПолное = "штука";
БазоваяЕдиница.Код = 796;
БазоваяЕдиница.__content = "шт";
Файл.БазовыеЕдиницы.Добавить(БазоваяЕдиница);
БазоваяЕдиница = Фабрика.Создать(Фабрика.Тип("http://www.sample-package.org", "БазоваяЕдиница"));
БазоваяЕдиница.МеждународноеСокращение = "PCE";
БазоваяЕдиница.НаименованиеПолное = "штука";
БазоваяЕдиница.Код = 796;
БазоваяЕдиница.__content = "шт";
Файл.БазовыеЕдиницы.Добавить(БазоваяЕдиница);
БазоваяЕдиница = Фабрика.Создать(Фабрика.Тип("http://www.sample-package.org", "БазоваяЕдиница"));
БазоваяЕдиница.МеждународноеСокращение = "PCE";
БазоваяЕдиница.НаименованиеПолное = "штука";
БазоваяЕдиница.Код = 796;
БазоваяЕдиница.__content = "шт";
Файл.БазовыеЕдиницы.Добавить(БазоваяЕдиница);
ЗаписьХМЛ = Новый ЗаписьXML;
ЗаписьХМЛ.ОткрытьФайл(ИмяФайла);
Фабрика.ЗаписатьXML(ЗаписьХМЛ, Файл);
ЗаписьХМЛ.Закрыть();
ЧтениеХМЛ = Новый ЧтениеXML;
ЧтениеХМЛ.ОткрытьФайл(ИмяФайла);
Файл = Фабрика.ПрочитатьXML(ЧтениеХМЛ, Фабрика.Тип("http://www.sample-package.org","Файл"));
ЧтениеХМЛ.Закрыть();
Для Каждого ТекБазЕд Из Файл.БазовыеЕдиницы Цикл
Сообщить("МеждународноеСокращение: " + ТекБазЕд.МеждународноеСокращение + ", НаименованиеПолное: " + ТекБазЕд.НаименованиеПолное + ", Код: " + ТекБазЕд.Код + ", Значение: " + ТекБазЕд.__content);
КонецЦикла;
КонецПроцедуры
ПоказатьПрикрепленные файлы:
Прочитать ХМЛ с атрибутами.epf
Зачем Вам схемы и фабрики? Просто чтениеXML не поможет для такой простой задачки?
У него для атрибутов и значений узла разные методы:
ПолучитьАтрибут() - метод
Значение - свойство
У него для атрибутов и значений узла разные методы:
МойХМЛ.ПолучитьАтрибут(<НомерАтрибута>) по номеру
МойХМЛ.ПолучитьАтрибут(<ИмяАтрибута>) по имени
МойХМЛ.Значение - значение текущего узла
ПолучитьАтрибут() - метод
Значение - свойство
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот