загрузка из Xml в 1cv8

Тема в разделе "1C и всё что с ней связано", создана пользователем tanat, 27 фев 2008.

  1. tanat

    tanat Well-Known Member

    Регистрация:
    2 мар 2007
    Сообщения:
    265
    Симпатии:
    0
    Доброе время суток.
    В очередной раз столнулся со своей неграмотностью, помогайте бороться. Смысл проблеммы таков: необходимо получить их ХМЛ файла данные, затем распихать данные по справочникам. Как данные распихать - представление имею, а вот как получить их из хмл файла - никаких представлений.

    Структура файла такая:

    <УзелГл>
    <Узел1>
    <Узел>
    <НачЭлем>
    <элем1>текст</элем1>
    <элем2>текст</элем2>
    <элем3>текст</элем3>
    </НачЭлем>
    аналогично
    </узел>
    </узел1>

    <Узел2>
    .
    </узел2>
    <Узел3>
    .
    </узел3>
    <Узел4>
    .
    </узел4>
    </УзелГл>

    все узлы с одинаковой структурой, различие - в именах "головных"(1-4) узлов и в именах элементов, ну и в текстах соответственно.

    причем все узлы имеют общее(по имени) поле Элем1.

    Вопрос: Как мне организовать перебор данных? Предполагаю что так: необходимо позиционироваться на узле1, затем произвести чтение данных, затем переходить после /узел1 к узлу 2. Но вот как именно это сделать - незнаю. Буду рад любой помощи.
     
  2. Ant79

    Ant79 Гость

    XPath и MSXML engine тебе в помощь. юзаешь что-то вроде
    myDoc = DOMDocument.SelectNodes("//узел")
    ForEach myNode in myDoc
    делаешь што хошь
    Next

    обращай внимание на следующие моменты:
    1. объекту DOMDocument надо явно говорить, что искать ты собираешься с помощью XPath, иначе выборки просто не будут работать;
    2. если в нодах где-либо указываются пространства имен, нужно строить запросы на выборку с их учетом.
     
Загрузка...

Поделиться этой страницей