Jump to content

Error 'objXMLDoc.documentElement' is null or not an object


Guest tiani

Recommended Posts

Hey guys just jouined in from the UN.I'm currently developping an application in ASP for viewing NGOs and I'm using a XML file to store temporary recordsets before adding them to the database (ACCESS 2003). When I try to view the xml file using XSL on the same page i get: Microsoft JScript runtime error '800a138f' 'objXMLDoc.documentElement' is null or not an object /ASP Project/VerifyPerson.asp, line 168 here is the code: (in Jscript)<% //before the form the nodes creation and insertionif ( Request.Form("moreORG") == "Yes" ){ // 1) To check whether the user has already pressed the submit button var submit = Request.Form("submit").Count; if( submit > 0 ){ var xmlDoc=Server.CreateObject("MICROSOFT.FreeThreadedXMLDOM"); xmlDoc.async="false"; xmlDoc.load(Server.MapPath("Data/organization.xml")); var nodeList = xmlDoc.getElementsByTagName("organizations"); if(nodeList.length > 0){ var parentNode = nodeList(0) ; var orgNode = xmlDoc.createElement("Organization"); var orgnameNode = xmlDoc.createElement("name"); var orgAddrNode = xmlDoc.createElement("address"); var orgTelNode = xmlDoc.createElement("telephone"); var orgFaxNode = xmlDoc.createElement("fax"); var orgEmailNode = xmlDoc.createElement("email"); var unOrgNode = xmlDoc.createElement("UN"); orgnameNode.text = Trim(subConvert(request.form("affiliAt"))); orgAddrNode.text = Trim(subConvert(request.form("addrorg"))); orgTelNode.text = Trim(request.form("phone")); orgFaxNode.text = Trim(request.form("fax")); orgEmailNode.text = request.form("e_mail"); unOrgNode.text = request.form("UN"); // 6) Attach the nodes to the parent node (Person) parentNode.appendChild(orgNode); orgNode.appendChild(orgAddrNode); orgNode.appendChild(orgTelNode); orgNode.appendChild(orgFaxNode); orgNode.appendChild(orgEmailNode); orgNode.appendChild(unOrgNode); // 7) Now save the nodes to the file xmlDoc.save(Server.MapPath("Data/organization.xml")); }//if nodelength }// if submit }// request for more // the form is above and in HTML // This part is used to display the data in a table via XSL var objXMLDoc = Server.CreateObject("MICROSOFT.FreeThreadedXMLDOM"); objXMLDoc.async = false; objXMLDoc.load(Server.MapPath("Data/Organization.xml")); var xsl=Server.CreateObject("MICROSOFT.FreeThreadedXMLDOM"); xsl.async = false; xsl.load(Server.MapPath("Data/Organization.xsl")); var xmlQuery="//organization"; var docHeadlines=objXMLDoc.documentElement.selectNodes(xmlQuery); var numNodes; numNodes=docHeadlines.length; var nn; for(var i=0;i<numNodes;i++){ nn = docHeadlines.nextNode(); Response.Write(nn.transformNode(xsl)); }%>the XSL sheet:<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"><!-- Note that I have specified the default values for the parameters. If no values are passed in, these will be used --><xsl:param name="sortBy" select="'name'"/><xsl:param name="strXPath" select="//organization"/><xsl:template match="/"> <xsl:apply-templates select="$strXPath"> <xsl:sort select="*[name()=$sortBy]" order="ascending"/> </xsl:apply-templates></xsl:template><xsl:template match="organization"> <tr> <td><font face="verdana" size="2"><xsl:value-of select="name"/></font></td> <td><font face="verdana" size="2"><xsl:value-of select="address"/></font></td> <td><font face="verdana" size="2"><xsl:value-of select="telephone"/></font></td> <td><font face="verdana" size="2"><xsl:value-of select="fax"/></font></td> <td><font face="verdana" size="2"><xsl:value-of select="email"/></font></td> <td><font face="verdana" size="2"><xsl:value-of select="UN"/></font></td> </tr></xsl:template></xsl:stylesheet>and finally the XML file:<?xml version="1.0" encoding="ISO-8859-1"?><!-- Written by Sonu Kapoor .:sonu@codefinger.de:. www.codefinger.de --><organizations> <organization><name>AESES</name><address>settat</address><telephone></telephone><fax></fax><email></email><UN>No</UN></organization></organizations>Thanx guys

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...