Я пытаюсь разобрать ниже Xml. Это может иметь несколько тегов счета-фактуры:Анализ XML с использованием XmlDocument
<Invoices>
<Invoice>
<Invoice_ID>1234</Invoice_Id>
<Billing>
<Name> abc </Name>
<Address1>1 main street</Address1>
<City> city </city>
<State>State </State
<Zip>00000</zip>
<Amount>
<BaseAmt>35</BaseAmt>
<Tax>3</Tax>
<Total>28<total>
<Amount>
</Billing>
<item>
<Name> pen </Name>
<qty> 5 </qty>
<amount> 10 </amount>
</item>
<item>
<Name> Paper </Name>
<qty> 3 </qty>
<amount> 20 </amount>
</item>
</Invoice>
</Invoices>
Ниже мой код:
Dim xmlDoc As XmlDocument = New XmlDocument()
xmlDoc.Load(fileName)
Dim invNum As Integer = 0
Dim nodeLst As XmlNodeList = xmlDoc.SelectNodes("/Invoices/Invoice")
invNum = nodeLst.Count
For Each invDetail As XmlElement In nodeLst
Dim invID As String = invDetail("Invoice_ID").InnerText.ToString()
Next
Мне нужно, чтобы получить значение для остальных тегов, то есть дочерние узлы, такие как Billing/Имя, Billing/Название/Сумма, Пункты/Items/имя
Какая у вас проблема? –
Я получил invID, используя invDetail («Invoice_ID») .InnerText, но когда я пытаюсь получить такое имя, как invDetail.SelectSingleNode («Billing/Name»), он дает мне ошибку: «Ссылка на объект не установлена в экземпляр object " – user565992
" Billing/Name "не является именем. Вам нужно' SelectSingleNode ("Billing") ', затем' SelectSingleNode ("Name") 'на этом. –