Разбор / парсинг 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

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.444 из 5