How to Parse XML in ASP?
Hey guys,
I'm having a "great" pleasure of parsing XML in my ASP page, except I can't seem to figure it out what I'm doing wrong. I have tried a bunch of stuff and can't seem to read a simple xml doc. here is what my code looks like...
' Create new XML reader object
Dim xmlDoc
Set xmlDoc = Server.CreateObject("Microsoft.XMLDOM")
' Load the specified XML file (returns XML output)
xmlDoc.load("http://somesite.com/api/xml?action=login&login=jon@doe.com&password=foobar")
' Parse XML
if xmlDoc.parseError.errorcode <> 0 then
' oops error in xml
Response.Write("XML Error...")
else
' get xml data
Response.Write(xmlDoc.documentElement.childNodes(0).attributes.getNamedItem("code").nodeValue)
end if
my xml looks like this...
<?xml version="1.0" encoding="utf-8"?>
<results>
<status code="value"/>
</results>
and my error is...Microsoft VBScript runtime error '800a01a8'
Object required: 'documentElement'
This is my first time working with XML in ASP, so it is possible i'm missing something simple, any ideas what's going wrong here?
Thanks
senexom
Junior Poster in Training
54 posts since Jun 2005
Reputation Points: 11
Solved Threads: 0
I've figured it out and just in case someone else is forced to use ASP to process XML...
The code above WORKS on an XML document on the server, but if you are like me and you're trying to read XML document from a response stream the following code does the trick...
set xmlDoc = createObject("MSXML2.DOMDocument")
xmlDoc.async = False
xmlDoc.setProperty "ServerHTTPRequest", true
xmlDoc.load("http://somesite.com/api/xml?action=login&login=jon@doe.com&password=foobar")
response.write xmlDoc.selectSingleNode("//results/status").Attributes.GetNamedItem("code").Text
Cheers!
senexom
Junior Poster in Training
54 posts since Jun 2005
Reputation Points: 11
Solved Threads: 0