Avatar billede farnsworth Praktikant
21. december 2016 - 13:47

Parsing af XML data via vba

jeg har et problem med at kunne parse noget XML jeg har modtaget via en SOAP forbindelse.

dvs jeg kan få fat i data via DocumentElement ved at bruge:

Set lists = Svar.DocumentElement
Set getchild = lists.ChildNodes(0).ChildNodes(0).ChildNodes(0).ChildNodes(2)

Men dette er jo ikke særligt fleksibelt da jeg kan mangle childnodes og jeg ville gerne benytte den mere fleksible løsning med at benytte f.eks. Xpath, men denne giver mig empty værdier lige meget hvad jeg gør

Svar.async = False: Svar.validateOnParse = False
Svar.LoadXML Kald.responseText
Set lists = Svar.DocumentElement

For Each listNode In lists.ChildNodes
For Each fieldNode In listNode.ChildNodes
Debug.Print "[" & fieldNode.BaseName & "] = [" & fieldNode.Text & "]"
Next fieldNode
Next listNode


eksempel på xml:
<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><CreditorEntry_GetDataResponse xmlns="http://e-conomic.com"><CreditorEntry_GetDataResult><Handle><SerialNumber>111289</SerialNumber></Handle><SerialNumber>111289</SerialNumber><Type>CreditorInvoice</Type><Date>2014-09-30T00:00:00</Date><CreditorHandle><Number>96100277</Number></CreditorHandle><AccountHandle><Number>6800</Number></AccountHandle><VoucherNumber>10666</VoucherNumber><Text>Test data</Text><AmountDefaultCurrency>-31250.00</AmountDefaultCurrency><CurrencyHandle><Code>DKK</Code></CurrencyHandle><Amount>-250.00</Amount><InvoiceNumber>008</InvoiceNumber><DueDate>2015-01-02T00:00:00</DueDate><Remainder>-250.00</Remainder><RemainderDefaultCurrency>-250.00</RemainderDefaultCurrency></CreditorEntry_GetDataResult></CreditorEntry_GetDataResponse></soap:Body></soap:Envelope>

Hvad gør jeg galt?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester