• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

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

  • Автор темы tanat
  • Дата начала
T

tanat

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

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

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

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

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

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

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

Ant79

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

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

Обучение наступательной кибербезопасности в игровой форме. Начать игру!