Member 14747725 Ответов: 0

Как получить значения под определенным узлом из XML с помощью VB


У меня есть пример XML, где мне нужно записать детали "задержки". Расписание матчей таблица&ГТ;Лин расписание матчей таблица&ГТ;стол фото для каждого "Лин-кластер" соответственно, чтобы преуспеть.

Я пробовал этот код, но он записывает все детали таблицы расписания независимо от имени кластера. Пожалуйста, помогите, как писать в соответствии с каждым кластером в каждом цикле

Пожалуйста, не обращайте внимания на углубления. Я использую в мобильном телефоне.

Пример XML
<lin-cluster>
  <short-name>LIN4
  <lin-cluster-variants>
    <lin-cluster-conditional>
       <baudrate>19200
       <physical-channels>
          <lin-physical-channel>
              <short-name>ML4       
              <schedule-tables>
                 <lin-schedule-table>
                    <short-name>RUN                
                   <table-entrys>
                      <application -="" entrys="">
                         <delay>0.01
                     
                  
                <lin-schedule-table>
             
         
       
     
   


 
<lin-cluster>
  <short-name>LIN4
  <lin-cluster-variants>
    <lin-cluster-conditional>
       <baudrate>19200
       <physical-channels>
          <lin-physical-channel>
              <short-name>ML4       
              <schedule-tables>
                 <lin-schedule-table>
                    <short-name>RUN                
                   <table-entrys>
                      <application -="" entrys="">
                         <delay>0.01
                     
                  
                <lin-schedule-table>
             
         
       
     
   


<lin-cluster>
  <short-name>LIN4
  <lin-cluster-variants>
    <lin-cluster-conditional>
       <baudrate>19200
       <physical-channels>
          <lin-physical-channel>
              <short-name>ML4       
              <schedule-tables>
                 <lin-schedule-table>
                    <short-name>RUN                
                   <table-entrys>
                      <application -="" entrys="">
                         <delay>0.01
                     
                  
                <lin-schedule-table>


Что я уже пробовал:

Dim OXMLDOC As Object= Nothing
oXMLDOC = CreateObject. 
                                  ("Microsoft.XMLDOM")
OXMLDOC.Load("sample.xml")

nodes1=OXMLDOC.SelectNodes("//LIN- 
                                                   CLUSTER")
For each node1 in nodes1
   For each node2 in node1.ChildNodes
       If node2.tagName="SHORT-NAME" 
                                                                  Then
            xlSH.Cells(iRow,1) =node2.Text
      ElseIf node2.tagName="LIN-CLUSTER- 
                                             VARIANTS" Then
            nodes3=node2.SelectNodes("//LIN-CLUSTER-VARIANTS/LIN-CLUSTER-CONDITIONAL/PHYSICAL-CHANNELS/LIN-PHYSICAL-CHANNEL/SCHEDULE-TABLES/LIN-SCHEDULE-TABLE/*")
           For each node3 in nodes3 
               If node3.tagName="SHORT- 
                                                             NAME"
                    xlSH.Cells(iRow,4)=node3.text
               ElseIf node3.tagName="TABLE- 
                                                        ENTRYS"           
                    nodes4=node3.SelectNode("(APPLICATION-ENTRY|ASSIGN-FRAME-ID|ASSIGN-FRAME-ID-RANGE)/*)
                    For each node4 in nodes4
                        If node4.tagName="DELAY" 
                                                             Then                  
                             xlSH.Cells(iRow,5) = 
                                                        node4.text
                        End If
                    Next
 
              End If
           Next
      End If
   Next
Next

0 Ответов