Hej Jag har en asp-sida som skickar följande till en server Det finns inget magiskt sätt att omforma "any XML" till ett Recordset. Du måste på något sätt löpa igenom datat, enklast i ett DOMDocument eller liknande objekt - plocka ut det du vill ha och skapa ett RS av det.. Men kommer du så långt då kommer du inse att det är onödigt att skapa ett RS. Du kan använda DOMDocument egenskaper/metoder ev. med hjälp av XPath uttryck/frågor i stället. Har redan kollat detta men vad jag förstår kräver det adressen till en fysisk *.xml fil. vilket jag inte har och inte kan få. Man kan göra något sånt här: Ska prova detta, men nästa fråga inställer sig snabbt.Hämta XML sträng och omvandla till recordset
<form method="POST" action="http://loggin.upplysningstjanst.se/cgi-bin/svup500.pgm">
<INPUT NAME="String" Type="hidden" VALUE="String=
<Fraga>
<KundId>
<KundNummer>******</KundNummer>
<AnvId>******</AnvId>
<Losen>******</Losen>
<UpplTyp>01</UpplTyp>
</KundId>
<Bestallning>
<UpplId>
<IdNummer><% = Request.Form("PERSORGNO") %></IdNummer>
</UpplId>
</Bestallning>
</Fraga>" >
<input type="submit" value="Skicka"/>
</form>
Nedanstående kod vill jag ha dold på en aspsida /kontroll.asp)
Servern returnerar svaret i form av en XML sträng (dvs inget filnamn är känt)
med följande taggar
<?xml version="1.0" encoding="ISO-8859-1" ?>
- <Svar>
- <KundId>
<KundNummer>******</KundNummer>
<AnvId>******</AnvId>
<UpplTyp>01</UpplTyp>
<OK>J</OK>
</KundId>
- <Resultat>
- <UpplId>
<IdNummer>**********</IdNummer>
<OK>J</OK>
- <Arkivet>
<Rubrik>Följande betalningsanmärkningar finns noterade de senaste tre åren.</Rubrik>
<Antal>01</Antal>
- <Anmarkning>
<AnmKod>SK</AnmKod>
<ArVecka>2004-07</ArVecka>
<AnmText>Restf. skattekonto</AnmText>
<Belopp>11.077</Belopp>
<Datum />
<FordrAgare />
<Period>0402</Period>
</Anmarkning>
- <Skuldsaldo>
<Rubrik>Aktuellt skuldsaldo hos Kronofogdemyndigheten</Rubrik>
- <Saldotyp>
<Saldotext>Allmänna mål:</Saldotext>
<Antal>6</Antal>
<Belopp>64,712</Belopp>
<Datum>2004-02-27</Datum>
</Saldotyp>
</Skuldsaldo>
</UpplId>
</Resultat>
</Svar>
Hur skall jag bära mig åt för att skapa ett recordset av detta, så att jag t.ex kan skriva typ.
If antal > 5 then
response.redirect "nej.asp"
else
response.redirect "ja.asp"Sv: Hämta XML sträng och omvandla till recordset
Följande länk är ett bra ställe att börja på.. :)
http://www.topxml.com/xml/articles/xmlvbasp/#XML_Document_Object_Model
OlaSv: Hämta XML sträng och omvandla till recordset
Men tack så länge
Mvh
PeterSv: Hämta XML sträng och omvandla till recordset
<code>
Dim xmlDoc
Dim xmlRoot
Dim xmlNode
Set xmlDoc = CreateObject("Microsoft.xmldom")
xmlDoc.async = False
xmlDoc.loadXML Response.Form("String")
If xmlDoc.parseError.errorCode Then
'MsgBox xmlDoc.parseError.reason, vbCritical, "Error"
Else
Set xmlRoot = xmlDoc.documentElement
Set xmlNode = xmlRoot.getElementsByTagName("Antal")
End If
</code>Sv: Hämta XML sträng och omvandla till recordset
Formulärsidan? skall den skicka data till servern eller till sidan resultat.asp?
jag har fortfarande lite (läs mycket) svårt att förstå hur detta skall gå till.
Kanske man ska lägga upp detta problemet som ett projekt på jobbanken
Men tack så länge