Я хочу скопировать данные из XML-файла в книгу Excel
Каждый xml имеет тег "Имя клиента", но некоторые из них также имеют тег "Имя клиента биллинга"
Я хочу добиться этого с помощью своего кода
Если в XML-теге «Имя клиента биллинга» существует, используйте его и игнорируйте тег «Имя клиента»
если в xml нет тега «Имя клиента биллинга», используйте данные из тега «Имя клиента»
Мой текущий код вставляет только данные из тега "Имя клиента"
Мой код:
Dim mainWorkBook As Workbook
Set mainWorkBook = ActiveWorkbook
mainWorkBook.Sheets("Sheet3").Activate
LR = Cells(Rows.Count, "A").End(xlUp).Row
'MsgBox LR
For x = 2 To LR
Set xmlDoc = CreateObject("Microsoft.XMLDOM")
xmlDoc.SetProperty "SelectionLanguage", "XPath"
xmlDoc.Async = False
xmlDoc.Load ("\\path\" & Range("A" & x) & ".xml")
Set nodeXML = xmlDoc.getElementsByTagName("BILL_TO_CLIENTCODE")
Set nodeXML2 = xmlDoc.getElementsByTagName("CLIENTCODE")
If nodeXML Is Nothing Then
Range("B" & x).Value = nodeXML(i).Text
Else
Range("B" & x).Value = nodeXML2(i).Text
End If
Next x
Если я изменю последние строки кода на:
If nodeXML Is Nothing Then
Range("B" & x).Value = nodeXML2(i).Text
Else
Range("B" & x).Value = nodeXML(i).Text
End If
Я получаю значение только из тега «Имя клиента для выставления счета», но не вижу значения, если этот тег не существует
образец xml
<InvoiceData xmlns="http://tempuri.org/InvoiceData.xsd">
<INVOICE_HEADER>
<BILL_TO_CLIENTCODE/>
<CLIENTCODE>61138259</CLIENTCODE>
второй имеет значение в теге Билл для кода клиента и в коде клиента, но Билл для кода клиента должен быть основным.