Solved

Error reading XML file

Posted on 2004-09-07
3
348 Views
Last Modified: 2010-05-18
I am trying to read and display the contents of an XML file. (I want to restructure the output too using Javascript but I can't get past this first hurdle)

This is the error:
=============================================
Response object error 'ASP 0185 : 80020003'

Missing Default Property

/displayxml.asp, line 30

A default property was not found for the object.
=============================================

Here is the Code:
=============================================
<%@LANGUAGE="JAVASCRIPT" CODEPAGE="1252"%>
<%
  var xmlDoc = new ActiveXObject("MSXML.DOMDocument");
  var sourceFile = Server.MapPath("xml_file.xml");  
 
  function loadXML(xmlFile)
  {
   xmlDoc.async="false";
   xmlDoc.onreadystatechange=verify;
   xmlDoc.loadXML(xmlFile);
   xmlObj=xmlDoc.documentElement;
  }

function verify()
{
 // 0 Object is not initialized
 // 1 Loading object is loading data
 // 2 Loaded object has loaded data
 // 3 Data from object can be worked with
 // 4 Object completely initialized
 if (xmlDoc.readyState != 4);
 {
   return false;
 }
}

loadXML(sourceFile);
Response.ContentType = "text/html";

Response.Write(xmlObj); //This is line 30
%>

I know that I should use Response.ContentType = "text/xml"; but I need to get past this ASP error first which is only displayed using text/html

Can anyone spot the problem ?
0
Comment
Question by:Milkybar-kid
  • 2
3 Comments
 
LVL 15

Expert Comment

by:Thogek
ID: 12002360
Try
    Response.Write(xmlObj.xml);
0
 
LVL 1

Author Comment

by:Milkybar-kid
ID: 12003998
I had already tried that. I get the message

Microsoft JScript runtime error '800a01a8'

Object required

/displayxml.asp, line 30
0
 
LVL 15

Accepted Solution

by:
Thogek earned 500 total points
ID: 12007751
Which suggests that xmlObj is not being correctly populated.  I'd suggest two things:

[1]
To be safe, you should declare xmlObj outside of the functions, just to ensure that xmlObj is a global (not method) variable.  Something like

    var xmlDoc = new ActiveXObject("MSXML.DOMDocument");
    var sourceFile = Server.MapPath("xml_file.xml");  
    var xmlObj = null;  // declared as global-scope variable

    function loadXML(xmlFile)
    {

[2]
The DOMDocument.loadXML expects to be passed a string containing XML-formatted data.  If you want to load the XML contained within a file whose pathname you will pass to the function, use the load method instead.  I.e.,

    function loadXML(xmlFile)
    {
        xmlDoc.async="false";
        xmlDoc.onreadystatechange=verify;
        xmlDoc.load(xmlFile);  // load XML from file
        xmlObj=xmlDoc.documentElement;
    }

DOMDocument.load: http://msdn.microsoft.com/library/en-us/xmlsdk/html/xmmthload.asp
DOMDocument.loadXML: http://msdn.microsoft.com/library/en-us/xmlsdk/html/xmmthloadxml.asp
0

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

I have helped a lot of people on EE with their coding sources and have enjoyed near about every minute of it. Sometimes it can get a little tedious but it is always a challenge and the one thing that I always say is:   The Exchange of informatio…
I was asked about the differences between classic ASP and ASP.NET, so let me put them down here, for reference: Let's make the introductions... Classic ASP was launched by Microsoft in 1998 and dynamically generate web pages upon user interact…
A short tutorial showing how to set up an email signature in Outlook on the Web (previously known as OWA). For free email signatures designs, visit https://www.mail-signatures.com/articles/signature-templates/?sts=6651 If you want to manage em…
How to Install VMware Tools in Red Hat Enterprise Linux 6.4 (RHEL 6.4) Step-by-Step Tutorial

756 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question