webForumDet fria alternativet

selectSingleNode vill inte funka!

3 svar · 631 visningar · startad av doggelito

doggelitoMedlem sedan juni 20003 076 inlägg
#1

Får inte till detta :(
Jag vill hämta 'ReturnCode' via selectSingleNode men får bara 'Object Required' när jag provar!

Denna funkar:

Set root = XMLDOM.documentElement
Set node = root.firstChild  
Response.Write(node.text)

Men inte denna, vad gör jag för fel?

Set node = XMLDOM.selectSingleNode("AKDirectResult/ReturnCode")
Response.Write(node.text)

AKDirectResult är roten och ReturnCode är första child.

@ndersMedlem sedan juni 200032 969 inlägg
#2

Kan du visa exakt hur XML-dokumentet ser ut?

doggelitoMedlem sedan juni 20003 076 inlägg
#3

Xml-koden ser ut så här:

<?xml version="1.0"?>
<AKDirectResult xmlns="x-schema:HTTP://213.203.17.115/AKeService/Schemas/AKDirectResult.xml">
	<ReturnCode>0</ReturnCode>
	...
</AKDirectResult>

Upptäckte precis en sak; om jag tar bort schemagrejjen så funkar det, alltså:

<?xml version="1.0"?>
<AKDirectResult>
	<ReturnCode>0</ReturnCode>
</AKDirectResult>

Vad beror detta på?

jarvkloMedlem sedan juli 20013 378 inlägg
#4

doggelito skrev:

Vad beror detta på?

Hmm..

När du deklarerar ett namespace sådär (xmlns-attributet...) så kommer ReturnCode per default att höra till det namespace du ger prefixet "x-schema" och inte det namespace som du har som default för dokumentet.

Utan att ha testat skulle jag alltså tro att det rör ihop sig eftersom elementet <x-schema:ReturnCode> (som det då blir) inte har något att göra med element <ReturnCode> som eventuellt skulle kunna finnas i dokumentets defaultnamespace...

Så... Om det är till någon hjälp så beror problemet alltså förmodligen på att du på något sätt måste ange att du söker efter ReturnCode i det deklarerade namespacet x-schema: när du deklarerar det på det första sättet ;)

132 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)