Toon posts:

[ASP] Probleem bij gebruik MSXML2.domdocument

Pagina: 1
Acties:

Verwijderd

Topicstarter
Momenteel ben ik bezig om een ASP pagina te maken welke van een externe webserver een XML document inleest, de verkregen output middels xPath selecteert en tot slot aan de gebruiker wordt getoond.

Een test XML response ziet er als volgt uit:

XML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
  <?xml version="1.0" encoding="UTF-8" ?> 
- <methodResponse>
- <fault>
- <value>
- <struct>
- <member>
  <name>faultCode</name> 
- <value>
  <int>-32500</int> 
  </value>
  </member>
- <member>
  <name>faultString</name> 
- <value>
  <string>accountingroot::action::not_allowed </string> 
  </value>
  </member>
  </struct>
  </value>
  </fault>
  </methodResponse>


In mijn ASP script ziet het geheel er als volgt uit:
(ik heb de url van het xml bestand even veranderd, security issue :) )

ASP:
1
2
3
4
5
6
7
8
9
10
11
12
13
Set xmldoc = Server.CreateObject("MSXML2.domdocument")
xmldoc.async = False : xmldoc.validateOnParse = true
xmldoc.setProperty "ServerHTTPRequest", true 

if not xmldoc.loadxml ("http://somedomain.com/test.xml") then
 response.write("XML LOAD ERROR" + "<br/>")
 tmp = "ERROR - XML load failed ! <BR>" 
 tmp = tmp & "errorcode : " & xmldoc.parseError.errorcode & ", " & xmldoc.parseError.reason & "<BR>
 tmp = tmp & "srctext : " & xmldoc.parseError.srctext & "<BR>"
 tmp = tmp & "url : " &xmldoc.parseError.url & "<BR><BR>"
 tmp = tmp & "XML received : " & Server.HTMLEncode(sXML)
 response.write(tmp)
end if


Nu krijg ik de navolgende output van in de browser:

XML LOAD ERROR
ERROR - XML load failed !
errorcode : -1072896682, Invalid at the top level of the document.
srctext : http://somedomain.com/test.xml
url :

Gegoogled, maar niets gevonden.

Op MSDN heb ik de methoden van MSXML2.domdocument nog eens allemaal doorgenomen maar ook daar kon ik niets vinden. Iemand enig idee waarom dit niet werkt ?

  • SuperRembo
  • Registratie: Juni 2000
  • Laatst online: 20-08-2025
Als ik het goed heb dan verwacht loadXml() een string met xml, niet een bestandsnaam of url.

| Toen / Nu


  • tombo_inc
  • Registratie: December 2004
  • Laatst online: 10-03 13:21

tombo_inc

uhuh

ja precies. je moet load() gebruiken voor bestanden etc. en loadXml() voor een string.

Microsoft Windows: A thirty-two bit extension and graphical shell to a sixteen-bit patch to an eight-bit operating system originally coded for a four-bit microprocessor which was written by a two-bit company that can't stand one bit of competition


Verwijderd

Topicstarter
Bedankt, ik moet inderdaad de methode load() gebruiken.
De documentatie van MSDN is hier echter niet geheel duidelijk over..

  • faabman
  • Registratie: Januari 2001
  • Laatst online: 08-08-2024
Verwijderd schreef op zondag 09 oktober 2005 @ 10:56:
De documentatie van MSDN is hier echter niet geheel duidelijk over..
Dan moet je ffies de Platform SDK downloaden...

http://www.microsoft.com/msdownload/platformsdk/sdkupdate/

Op zoek naar een baan als Coldfusion webdeveloper? Mail me!