Разбор / парсинг XML - VB
Формулировка задачи:
Имеется XML файл:
Нужно его распарсить и в файл записать.
Написал гомнокод:
На втором цикле
for
получаем, что элементов "*/СПИСОК_НА_ЗАЧИСЛЕНИЕ/СведенияОполучателе/ВсеВыплаты/Выплата"3
и при первом же проходе первогоfor
у нас считываются все Выплаты, в независимости от Получателя. Как же считать только выплаты по текущему Получателю?
Чую, что нужно использовать
For Each ... Next
не канает... Это уже голова пухнет...
Решение задачи: «Разбор / парсинг XML»
textual
Листинг программы
Private Sub Pars() Dim Sp, t, s As String, tmp As String Const tree As String = "ФайлПФР/СПИСОК_НА_ЗАЧИСЛЕНИЕ/СведенияОполучателе" Dim i As Integer, j As Integer, k As Integer Dim XmlBody Set XmlBody = CreateObject("Microsoft.XMLDOM") XmlBody.Async = "False" XmlBody.Load (App.Path & "\1.xml") 'Путь по которому находится файл XML Set Sp = XmlBody.SelectNodes(tree) 'Sp - Сведения о Получателе For i = 0 To Sp.length - 1 t = Split(Sp.Item(i).Text) tmp = "" For j = 1 To CInt(t(4)) tmp = tmp & j & ". " & t(4 + j) & vbCrLf Next j s = s & t(0) & " " & t(1) & " " & t(2) & vbCrLf & "Номер счёта " & t(3) & vbCrLf & _ "Количество выплат " & t(4) & vbCrLf & tmp & vbCrLf Next MsgBox s End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д