webForumDet fria alternativet

koppla sida till ett xml dokument

XML

5 svar · 447 visningar · startad av Gein

Medlem sedan sep. 20005 700 inlägg
Frågan#1

jag skulle vilja koppla min sida till en xml sida för
att hämta information från den sidan, hur gör man det?
xml sidan ser ut ungefär såhär:

<?xml version="1.0" ?>
- <aostatsversion="0.1"timestamp="2001-07-10 19:22:03 CEST">
- <dimensionname="d1">
<servermanager status="1" />
<clientmanager status="1" />
<chatserver status="1" />
<playfield id="505"name="Avalon"status="1" />
..

jag vill t.ex kunna hämta ut statusen hos id 505 där, m.m.
Hur gör man det här på ett enkelt sätt?

------------------
"When there's no more room in hell,
the dead will walk the earth."
---------------------
http://shortenings.cjb.net

Medlem sedan dec. 19998 577 inlägg
#2

Nu vet jag inte hur hela ditt dokument ser ut, eller vilken teknik du använder för att visa innehållet. Jag gjorde såhär, och det fungerade:

test.xsl

<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="uri:xsl">
<xsl:template match="/">
<html>
	<body bgcolor="#DDDDDD">
		<xsl:for-each select="playfields/playfield">
			<xsl:if match=".[@id='505']">
			Hej: <xsl:value-of select="@status"/> <br/>
			</xsl:if>
		</xsl:for-each>
	</body>
</html>
</xsl:template>

</xsl:stylesheet>

test.xml

<?xml version="1.0"?>
<playfields>
	<playfield id="505" name="Avalon" status="1-505"/>
	<playfield id="506" name="Avalon" status="1-506"/>
	<playfield id="507" name="Avalon" status="1-507"/>
	<playfield id="508" name="Avalon" status="1-508"/>
</playfields>

test.asp - den du anropar

<%
Set XMLHTTP = Server.CreateObject("Microsoft.XMLHTTP")
XMLHTTP.open "GET", "http://www.lurgoyf.com/xml/test.xml", False
xmltext = ""

Set XMLDoc = Server.CreateObject("Microsoft.XMLDOM")
XMLDoc.async = false
XMLDoc.loadXML(xmltext)
XMLHTTP.send ""

styleFile = Request.ServerVariables("Appl_physical_path") & "xml\test.xsl"

Set source = XMLHTTP.ResponseXml
Set style = Server.CreateObject("Microsoft.XMLDOM")
style.async = false
style.load(styleFile)

Response.Write source.transformNode(style)
%>

Som sagt, hur din övriga kod ser ut vet jag inte, men det är ju bara att modifiera... :)

Mvh, Vide

------------------
Vide rox = new Vide();
rox.learn("C#");

webeye.nu

Medlem sedan dec. 19996 721 inlägg
#3

OM du bara vill ha ut värdet då ska du använda metoden selectSingleNode, med pattern "/playfield[@id = '505']", och plocka ut attributet status från den nod du får tillbaka.

Medlem sedan dec. 19998 577 inlägg
#4

I vilken version av XMLDOM är det? Jag fick det inte att fungera i ASPkoden...

------------------
Vide rox = new Vide();
rox.learn("C#");

webeye.nu

Medlem sedan dec. 19996 721 inlägg
#5

Nej, om playfield inte ligger i roten, så ska man ta bort slashen från pattern. I övrigt borde det funka. Jag gör alltid så.

Medlem sedan dec. 19998 577 inlägg
#6

Hmm, något är gammalt, för den säger att objektet inte finns när jag försöker anropa det senare vid formateringen av datat.

------------------
Vide rox = new Vide();
rox.learn("C#");

webeye.nu

259 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)