ASP giving error when i try to use Server.CreateObject("Microsoft.XMLDOM")

I have a server computer with Windows 2008, IIS7 and Sharepoint. I have ASP page inside Sharepoint. I want to read XML file. I have find nice manuals on the internet how to do it. My problem is, that after i put first line of the code i get error message (unknown error).

for example this working: <%Response.Write(now())%>

BUT THIS NOT WORKING: <%Set objXML = Server.CreateObject("Microsoft.XMLDOM")%>

What i tryed:
1.Istalled msxml3.msi (msxml3.dll)
2.Installed XMLinst.exe
3.change object type to Msxml2.DOMDocument.3.0 from Microsoft.XMLDOM

i getting the same error message. Can anybody help me what is missing from my system or how to make it work????  
this should be the full code:
 
 
 <%
 Set objXML = Server.CreateObject("Microsoft.XMLDOM")
 Set objLst = Server.CreateObject("Microsoft.XMLDOM")
 Set objHdl = Server.CreateObject("Microsoft.XMLDOM")
 
 objXML.async = False
 objXML.Load (Server.MapPath("linx.xml"))
 
 Set objLst = objXML.getElementsByTagName("mainmenu")
 
 menuitemcount = objLst.length
%>
 
<h1>Testurl:<h1>
 
 <%
 For i = 0 To (menuitemcount  1)
 
  Set objHdl = objLst.item(i)
 
  Response.Write("<a href=""" & _
                  objHdl.childNodes(1).childNodes(0).text & _
                  """>" & objHdl.childNodes(0).text & _
                  "</a><br>")
 
 Next
 %>

Open in new window

corthezzAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Andrei TeodorescuBusiness OwnerCommented:
pls, provide linx.xml example
0
SvenTech Lead Web-DevelopmentCommented:
Try
Set objXML = CreateObject("MSXML2.DOMDocument")

Or by Version
Set objXML = CreateObject("MSXML2.DOMDocument.3.0")
Set objXML = CreateObject("MSXML2.DOMDocument.4.0")
Set objXML = CreateObject("MSXML2.DOMDocument.6.0")
0
SvenTech Lead Web-DevelopmentCommented:
Also you do not need the lines:
Set objLst = Server.CreateObject("Microsoft.XMLDOM")
Set objHdl = Server.CreateObject("Microsoft.XMLDOM")

You should remove them espacially because you are not destroying these objects before creating new ones with
Set objLst = objXML.getElementsByTagName("mainmenu")
Set objHdl = objLst.item(i)

Best practice als would be to destroy each object (Set objABC = Nothing) before creating a new one even if it is the same object variable! Example:

For i = 1 To 3
  Set objABC = objItem(i)
  Response.Write objABC.Text
  Set objABC = Nothing
Next



0
Newly released Acronis True Image 2019

In announcing the release of the 15th Anniversary Edition of Acronis True Image 2019, the company revealed that its artificial intelligence-based anti-ransomware technology – stopped more than 200,000 ransomware attacks on 150,000 customers last year.

corthezzAuthor Commented:
LINX XML:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mylinks SYSTEM "linx.dtd">
<mylinks>
      <mainmenu>
            <url>http://www.google.com</url>
            <text>Google</text>
            <type>link</type>
      </mainmenu>
      <mainmenu>
            <url>http://www.microsoft.com</url>
            <text>Microsoft</text>
            <type>link</type>
      </mainmenu>
      <submenu1>
            <url>http://www.google.com</url>
            <text>Google</text>
      </submenu1>
      <submenu2>
            <url>http://www.google.com</url>
            <text>Google</text>
      </submenu2>
      <submenu3>
            <url>http://www.google.com</url>
            <text>Google</text>
      </submenu3>
</mylinks>

LINX DTD:

<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2009 sp1 (http://www.altova.com) by Corthezz (EMBRACE) -->
<!ELEMENT mylinks (mainmenu*, submenu1*, submenu2*, submenu3*)>
<!ELEMENT mainmenu (url, text, type)>
<!ELEMENT submenu1 (url, text)>
<!ELEMENT submenu2 (url, text)>
<!ELEMENT submenu3 (url, text)>
<!ELEMENT url (#PCDATA)>
<!ELEMENT text (#PCDATA)>
<!ELEMENT type (#PCDATA)>


0
SvenTech Lead Web-DevelopmentCommented:
Post the exact error and line number and the exact line from the code that got the error.
0
corthezzAuthor Commented:
MSXML2.DOMDocument
MSXML2.DOMDocument.3.0
MSXML2.DOMDocument.4.0
MSXML2.DOMDocument.6.0
Microsoft.XMLDOM

I tryed all te version....but the result is the same..  :(  I think there is more serious error. only this example working so far:  : <%Response.Write(now())%>
0
Andrei TeodorescuBusiness OwnerCommented:
is working here
reinstall XML from scratch...
<%
Dim objXML, objLst, objHdl
Set objXML = Server.CreateObject("Microsoft.XMLDOM")
 
objXML.async = False
objXML.Load(Server.MapPath("linx.xml"))
 
Set objLst = objXML.getElementsByTagName("mainmenu")
menuitemcount = objLst.length
%>
 
<h1>Testurl:<h1>
 
 <%
 For i = 0 To (menuitemcount - 1)
 
  Set objHdl = objLst.item(i)
 
  Response.Write("<a href=""" & _
                  objHdl.childNodes(1).childNodes(0).text & _
                  """>" & objHdl.childNodes(0).text & _
                  "</a><br>")
 Next
 %>

Open in new window

untitled.PNG
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
corthezzAuthor Commented:
i getting Sharepoint error. there is no info about line or error code. i dont know how to get it because i am new in ASP
0
corthezzAuthor Commented:
Ok, so i think i have problem with the XML dll. Andrei, i have to reinstall IIS component?  I  haven's installed anything so far
0
Andrei TeodorescuBusiness OwnerCommented:
Please provide details of the sharepoint error; prt. screen if no other info is available
You don't have to reinstall anything in IIS

Other aspect, where is that ASP page hosted? The corresponding app pool for that site is the same as for the sharepoint site?
0
corthezzAuthor Commented:
it is inside sharepoint

sharepoint address: http://merkur/_layouts/plautwelcome/pwelcome.aspx
physical address: C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\TEMPLATE\LAYOUTS\plautwelcome\pwelcome.aspx

without that code the page is working correctly.
0
Andrei TeodorescuBusiness OwnerCommented:
you'll have to host the page on a diff. site (URL with a dif. hostheader/port) and include it in sharepoint using a Page Viewer WebPart
0
corthezzAuthor Commented:
I am not sure if i have installed everything what i need for working with XML. it seems that IIS cant handle the Server.Createobject() metod...
0
corthezzAuthor Commented:
I installed it, but it doesn't work either. I will try to host the page on the different site and i will post the result.
0
corthezzAuthor Commented:
I getting this error message. Any ideas?
error.jpg
0
SvenTech Lead Web-DevelopmentCommented:
You are using ASP Classic Code in a ASP.NET application? That can not work.

Rename file to .asp instead of .aspx or recode to ASP.NET!
0
Andrei TeodorescuBusiness OwnerCommented:
indeed, rename to .asp; I wasn't paying att. to the file extension
0
SvenTech Lead Web-DevelopmentCommented:
Maybe you also have to activate ASP 3.0 in order to run classic ASP and .asp extension.

You have to add this as role of the server in server-manager under control panel.
0
corthezzAuthor Commented:
Great! its working now! Thanx so much!
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
ASP

From novice to tech pro — start learning today.