Access data in XML file using MSXML2.DOMDocument

I have a document formatted like this:

<TestResult xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<TestName>1234</TestName>
<TestID>P1</TestID>
<Score>70</Score>
<Learner>
<ID>5846</ID>
<Name>Fred Smith</Name>
</Learner>
</TestResult>



I'm loading it as follows:

    Set objXMLHttp = CreateObject("MSXML2.ServerXMLHTTP.6.0")
    objXMLHttp.Open "GET", strURL, False
    objXMLHttp.send
   
' This works but strReturn is formatted using { and : characters not as xml/soap
    strReturn = objXMLHttp.responseText
   
    Set xmlDoc = CreateObject("MSXML2.DOMDocument")
    xmlDoc.async = False
    xmlDoc.LoadXML strReturn

xmldoc as a Parse error, invalid at top level of document

How do I access the score and learner id ?
ASPDaddyAsked:
Who is Participating?

Improve company productivity with a Business Account.Sign Up

x
 
ASPDaddyConnect With a Mentor Author Commented:
Thanks

I had a look at that yesterday , its generic code for traversing a structure rather than specific access to known elements.

I figured it eventually by trial an error though :)

- For top level test data
xmlDoc.getElementsByTagName("TestName")(0).Text

- for data in the Learner record
xmlDoc.getElementsByTagName("Learner/Name")(0).Text
0
 
ASPDaddyAuthor Commented:
I solved the parse error by setting the content type to XML, it was defaulting to JSON. The doc now looks loaded ok so I just need to know the syntax to access specif elements in the test and candidate.  The example is a single record but I like to know how to access using a loop as well in case we make files with more records. Thanks
0
 
JSRWilsonCommented:
0
 
ASPDaddyAuthor Commented:
solved
0
 
ASPDaddyAuthor Commented:
actual code
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.