Как получить значения под определенным узлом из 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