Toon posts:

[XML] XML.load werkt niet bij alle gebruikers *

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb de volgende code:

code:
1
2
3
4
5
1. Set XMLDoc = Server.Createobject("MSXML2.DOMDocument")
2. XMLDoc.async = False

3. XMLDoc.Load ("http://blabla/bla.asp?nr=" & test)
4. Set root = XMLDoc.documentElement.childNodes(1)


Bij een aantal gebruikers gaat het goed, bij een ander deel niet. Het heeft dus waarschijnlijk met een autorisatie te maken maar waar? Ik heb al de nodige autorisaties gezet maar nog steeds niet de juiste. Hij gaat fout op regel 4 waarschijnlijk omdat het document niet geladen is.

  • pjvandesande
  • Registratie: Maart 2004
  • Laatst online: 16-04 11:36

pjvandesande

GC.Collect(head);

Wat voor error krijg je?

Op lijn vier vraag jij alleen een ChildNode op, niets bijzonders. Lijkt mij eerder dat die node niet bestaad oid.

  • André
  • Registratie: Maart 2002
  • Laatst online: 15-04 09:54

André

Analytics dude

Probeer eens Load met kleine letters?

Verwijderd

Topicstarter
Het werkt wel voor een aantal gebruikers dus de code lijkt me goed. Het lijkt erop dat het xml document in deze situatie niet aangemaakt kan worden. Geen schrijfrechten? Maar op welke map?
Zal ze allemaal nog eens nalopen.

  • Jaspertje
  • Registratie: September 2001
  • Laatst online: 08-04 12:54

Jaspertje

Max & Milo.. lief

Als je die URL eens laat uitlezen bij de users, kunnen ze die wel openen, is de XMLwell formed?

Zo te zien ben je in ASP bezig, dat is niet case sensitive, dus Load kan met grote letters..

[ Voor 37% gewijzigd door Jaspertje op 06-12-2005 15:31 ]


  • pjvandesande
  • Registratie: Maart 2004
  • Laatst online: 16-04 11:36

pjvandesande

GC.Collect(head);

Verwijderd schreef op dinsdag 06 december 2005 @ 15:29:
Het werkt wel voor een aantal gebruikers dus de code lijkt me goed. Het lijkt erop dat het xml document in deze situatie niet aangemaakt kan worden. Geen schrijfrechten? Maar op welke map?
Zal ze allemaal nog eens nalopen.
Wat voor fout krijg je dan?

Verwijderd

Topicstarter
Dat het object niet bestaat.

  • pjvandesande
  • Registratie: Maart 2004
  • Laatst online: 16-04 11:36

pjvandesande

GC.Collect(head);

Load in kleine letters helpt ook niet en heb je voor ons al een XML output zoals Jaspertje vraagt.

Het zier er naar uit dat de ChildNode niet gevonden kan worden, kan dit kloppen?

Verwijderd

Topicstarter
Dat denk inderdaad dat dat het probleem is. Waarschijnlijk omdat het xml document helemaal niet bestaat.

  • pjvandesande
  • Registratie: Maart 2004
  • Laatst online: 16-04 11:36

pjvandesande

GC.Collect(head);

Verwijderd schreef op dinsdag 06 december 2005 @ 15:49:
Dat denk inderdaad dat dat het probleem is. Waarschijnlijk omdat het xml document helemaal niet bestaat.
Load returned pas zodra de gehele XML is ingeladen, dus dat kan het niet zijn.
De XML output is altijd hetzelfde neem ik aan?

Eerst even kijken of de node wel bestaat doet trouwens niemand kwaat, probeer dat eerst is en dan een error/exception raisen als hij niet bestaat.

  • Jaspertje
  • Registratie: September 2001
  • Laatst online: 08-04 12:54

Jaspertje

Max & Milo.. lief

ASP:
1
2
3
4
5
6
7
8
9
10
11
12
13
Set XMLDoc = Server.Createobject("MSXML2.DOMDocument")
XMLDoc.async = False

XMLDoc.Load ("http://blabla/bla.asp?nr=" & test)

if XMLDoc.parseError <> 0 then
  response.write "De XML is niet goed"
  response.end
end if

if XMLDoc.documentElement.ChildNodes.length > 2 then
  Set root = XMLDoc.documentElement.childNodes(1)
end if


XML is 0 Based hier. Dus het kan ook nog zijn dat je maar 1 child node hebt in sommige gevallen

Verwijderd

proxy (intranetbypass?) settings eens even nakijken? ik zie niets fout aan de code op zich, zeker als je zegt dat het bij een aantal gebruikers goed loopt met dezelfde xml.

Verwijderd

Topicstarter
Ah, ga ik dat eens doen.

Verwijderd

Topicstarter
Xmldoc.load wil wegschrijven naar een lokale schijf op de server (c:\temp ?). Bijna niemand heeft daar autorisatie voor, daar gaat het mis. Ga nu proberen om hem weg te laten schrijven naar een andere map. Maar het probleem is nu in ieder geval duidelijk.

Verwijderd

Licht het niet aan het gebruik van je xml parser!!
Die "xmlload" kan je volgens mij niet zo maar gebruiken je moet even de xmlDoc.readyState checken..

heeft niets met schrijf rechten te maken !!


voorbeeldje van mij eigenhand
Is in java en ik gebruik een andere method als jij geen "MSXML2.DOMDocument" maar xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); maar dat kan komen omdat jij in ASP programmeerd.

had ook veel problemen met het laden van xml files, maar uit eindelijk toch uitgevonden hoe het werkt Heb uiteindelijk als test je een gehele online winkel gebouwd die client side runt ja gewoon met xml bestanden ipv een database, moet het winkel wagentje nog afprogrammeren maar deer in had ik geen zin je moet toch wat als je je verveeld ;).
Heb het in java script geschreven, werkt onder IE weet niet of het goed werkte onder firefox.
Dacht dat ik daar wat problemen mee had , heeft te maken dat je dan een ander methode moet gebruiken dan xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); omdat dit allen voor MS softeware geld was volgens mij ook ween ander methode maar die gaf wat problemen.
Wilde nog wat meer dhtml verwerken id die winkel met actieve "ccs"
Maar ik ben weer met wat anders begonnen, ik dit ga nog wel eens afmaken , hoop ik.

Mij viel op dat er maar weinig goed tips te vinden waren via google ..


Hieronder staat een probeersel kijk of deze side wel werkt bij die mensen,
de selectie van artikelen is ook xml erg leuk geprogrameerd door mij. lol
alleen heb ik de product soort selectie nog niet goed gezet in het xml bestand
heb producten randum gekoppeld aan een product groep.
ja heb even een side geript om iets te hebben om uit te proberen was in de baby taal "php" ;) geschreven met een mysql database, lol heb je niet nodig voor een webwinkel. kan ook gewoon op je xs4all accountje wilde dit even laten zien aan mensen die zeiden dat je een server nodig had met een database voor een webwinkel .. n00b's


http://www.xs4all.nl/~henrim/webwinkel/


dus probeer de methode van de onderstaande code is het selectie menu aan de linker kant
je ziet dat ik meedere xml bestanden laad en deze in een array's zet en dan nog een selectie erover draait. Had ook wat problemen met het door geven van parameters naar de andere frames maar dat heb ik ook opgelost, wil alles herschrijven zonder frames maar dan gebruik maken van CSS. Is volgens mij ook veel mooier en beter, had eigenlijk geen zin om het te herschrijven .. lol

Oke het is geen ASP maar het zal ongeveer op de zelfde manier gebruikt worden denk ik.
je zie dat ik de data in lees in de "if (xmlDoc.readyState == 4) {" statment ook moet het opbouwen van je pagina wachten met het in lezen van je xml file. dat kan ook problemen op leveren maar dat heb je al ondervangen door "xmlDoc.async=false;"

hopelijk help ik of breng je op een ander idee om je probleem op te lossen

code terug te vinden op de site..

even de code er af gehaalt .

[ Voor 255% gewijzigd door Verwijderd op 08-12-2005 09:20 ]


  • Swaptor
  • Registratie: Mei 2003
  • Laatst online: 16-02 22:21

Swaptor

Java Apprentice

@henrifvm: TS heeft net een mogelijke oplossing gepost waarvan hij gelooft dat het de definitieve is.
Jouw oplossing is mogelijk, maar ook wel erg veel scrollwerk.

Begin aub eerst met alles tussen [code]-blokken te zetten, en te overdenken waarom die hele lap er op moet. Doe eerst het laatste maar.

Ontdek mij!
Proud NGS member
Stats-mod & forum-dude

Pagina: 1