Как прочитать xml содержащий xsd #762058


#0 by DES
есть строка содержащая <?xml version="1.0" encoding="UTF-8"?> <records> <xs:schema xmlns:xs="; attributeFormDefault="unqualified" elementFormDefault="qualified"> </xs:schema> как правильно ее прочитать чтобы не поэлементно читать? я вырезаю из строки блок <xs:schema xmlns:xs="; attributeFormDefault="unqualified" elementFormDefault="qualified"> </xs:schema> А потом делаю: но чувствую что что-то не так. Как сразу получить "Результат" без изменения исходной строки ?
#1 by Garykom
#2 by DES
читал, там нет ответа на мой вопрос
#3 by DES
+ Вопрос в том что файл или строка содержат и схему и данные, а во всех примерах они в отдельных файлах.
#4 by Garykom
СоздатьФабрикуXDTO напрямую не пашет?
#5 by Serginio1
Не забыть про ПерейтиКСодержимому Ну и как правильно тебе сказали СоздатьФабрикуXDTO значительно проще
#6 by DES
во всех примерах используют раздельные данные схем и данных, а у меня все в одном
#7 by DES
Для СоздатьФабрикуXDTO(<Путь>, <Пакеты>) нужен путь к файлам схем. А у меня строка, не писать же мне строку в файл, а потом ее читать.
#8 by Serginio1
Тебе надо отделять схему и данные Угу а РасположениеСхемы это, что?
#9 by DES
>Тебе надо отделять схему и данные Это без юмора ? Если я разделяю данные, то все работает, (само разделение тормозит), вот я и спрашиваю как без манипуляций с текстом обойтись.
#10 by DES
СтрXML =  <<< тут строка со схемой и данными Пример: Фабрика = СоздатьФабрикуXDTO(Схема); Как указать что Схема находится в части строки СтрXML ?
#11 by Serginio1
А ты правильно разделяй.
#12 by Записьдампа
Это называется Inline Schema, причем твой любимый .NET ее даже поддерживает. Неожиданно, не правда ли =) В 1С никак не указать, оно такое не поддерживает. Надо поточно читать по элементам и собирать руками. 1) Открыть файл через ЧтениеXML 2) Встать на узел xs:schema 3) Создать ПостроительDOM и через него прочитать DOM документ из текущего узла чтения 4) Получить СхемуXML из DOM документа 5) Создать ФабрикуXTDO 6) Перейти в чтении на следующий узел, уйдя с узла-описания схемы 7) Прочитать объект при помощи свежесозданной фабрики Ну и как всегда не забыть про указание типа объекта при чтении.
#13 by Serginio1
ПосстроительDOM засасывает все данные. Хотя могу и ошибаться. Проще использовать
#14 by Записьдампа
Не, в 8.3 точно - в пределах текущего узла. Можно ещё попробовать выдать элементу описания схемы идентификатор и указать его в schemalocation файла... Но сомневаюсь, что взлетит, у 1с парсер какой-то лохматый.
#15 by Serginio1
Ну может использовать и .Net
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С